summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
Diffstat (limited to 'src/library')
-rw-r--r--src/library/Branch.c2144
-rw-r--r--src/library/FlaggedPage.c1230
-rw-r--r--src/library/FlaggedPage.vala2
-rw-r--r--src/library/FlaggedSidebarEntry.c862
-rw-r--r--src/library/ImportQueuePage.c1589
-rw-r--r--src/library/ImportQueueSidebarEntry.c496
-rw-r--r--src/library/LastImportPage.c1278
-rw-r--r--src/library/LastImportSidebarEntry.c610
-rw-r--r--src/library/Library.c46
-rw-r--r--src/library/LibraryWindow.c11056
-rw-r--r--src/library/LibraryWindow.vala27
-rw-r--r--src/library/OfflinePage.c1741
-rw-r--r--src/library/OfflinePage.vala2
-rw-r--r--src/library/OfflineSidebarEntry.c700
-rw-r--r--src/library/TrashPage.c1706
-rw-r--r--src/library/TrashPage.vala2
-rw-r--r--src/library/TrashSidebarEntry.c816
-rw-r--r--src/library/mk/library.mk54
18 files changed, 24302 insertions, 59 deletions
diff --git a/src/library/Branch.c b/src/library/Branch.c
new file mode 100644
index 0000000..136c058
--- /dev/null
+++ b/src/library/Branch.c
@@ -0,0 +1,2144 @@
+/* Branch.c generated by valac 0.32.1, the Vala compiler
+ * generated from Branch.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib/gi18n-lib.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gee.h>
+
+
+#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ())
+#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch))
+#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+
+typedef struct _SidebarBranch SidebarBranch;
+typedef struct _SidebarBranchClass SidebarBranchClass;
+typedef struct _SidebarBranchPrivate SidebarBranchPrivate;
+
+#define LIBRARY_TYPE_BRANCH (library_branch_get_type ())
+#define LIBRARY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_BRANCH, LibraryBranch))
+#define LIBRARY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_BRANCH, LibraryBranchClass))
+#define LIBRARY_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_BRANCH))
+#define LIBRARY_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_BRANCH))
+#define LIBRARY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_BRANCH, LibraryBranchClass))
+
+typedef struct _LibraryBranch LibraryBranch;
+typedef struct _LibraryBranchClass LibraryBranchClass;
+typedef struct _LibraryBranchPrivate LibraryBranchPrivate;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+
+#define LIBRARY_TYPE_PHOTOS_ENTRY (library_photos_entry_get_type ())
+#define LIBRARY_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry))
+#define LIBRARY_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))
+#define LIBRARY_IS_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_ENTRY))
+#define LIBRARY_IS_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_ENTRY))
+#define LIBRARY_PHOTOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))
+
+typedef struct _LibraryPhotosEntry LibraryPhotosEntry;
+typedef struct _LibraryPhotosEntryClass LibraryPhotosEntryClass;
+
+#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
+#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+
+typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
+typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;
+
+#define LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY (library_flagged_sidebar_entry_get_type ())
+#define LIBRARY_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry))
+#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass))
+#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY))
+#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY))
+#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass))
+
+typedef struct _LibraryFlaggedSidebarEntry LibraryFlaggedSidebarEntry;
+typedef struct _LibraryFlaggedSidebarEntryClass LibraryFlaggedSidebarEntryClass;
+
+#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ())
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry))
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
+#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
+#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
+
+typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry;
+typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass;
+
+#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ())
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry))
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
+#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
+#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
+
+typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry;
+typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass;
+
+#define LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY (library_offline_sidebar_entry_get_type ())
+#define LIBRARY_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry))
+#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass))
+#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY))
+#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY))
+#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass))
+
+typedef struct _LibraryOfflineSidebarEntry LibraryOfflineSidebarEntry;
+typedef struct _LibraryOfflineSidebarEntryClass LibraryOfflineSidebarEntryClass;
+
+#define LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY (library_trash_sidebar_entry_get_type ())
+#define LIBRARY_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry))
+#define LIBRARY_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass))
+#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY))
+#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY))
+#define LIBRARY_TRASH_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass))
+
+typedef struct _LibraryTrashSidebarEntry LibraryTrashSidebarEntry;
+typedef struct _LibraryTrashSidebarEntryClass LibraryTrashSidebarEntryClass;
+
+#define LIBRARY_BRANCH_TYPE_ENTRY_POSITION (library_branch_entry_position_get_type ())
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ())
+#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping))
+#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
+#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING))
+#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING))
+#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
+
+typedef struct _SidebarGrouping SidebarGrouping;
+typedef struct _SidebarGroupingClass SidebarGroupingClass;
+
+#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ())
+#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader))
+#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass))
+#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER))
+#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER))
+#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass))
+
+typedef struct _SidebarHeader SidebarHeader;
+typedef struct _SidebarHeaderClass SidebarHeaderClass;
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ())
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+typedef struct _LibraryPhotosEntryPrivate LibraryPhotosEntryPrivate;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define LIBRARY_TYPE_MAIN_PAGE (library_main_page_get_type ())
+#define LIBRARY_MAIN_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage))
+#define LIBRARY_MAIN_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPageClass))
+#define LIBRARY_IS_MAIN_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_MAIN_PAGE))
+#define LIBRARY_IS_MAIN_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_MAIN_PAGE))
+#define LIBRARY_MAIN_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPageClass))
+
+typedef struct _LibraryMainPage LibraryMainPage;
+typedef struct _LibraryMainPageClass LibraryMainPageClass;
+typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+typedef struct _MediaPagePrivate MediaPagePrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+typedef struct _CollectionPagePrivate CollectionPagePrivate;
+typedef struct _LibraryMainPagePrivate LibraryMainPagePrivate;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+
+#define TYPE_VIEW_MANAGER (view_manager_get_type ())
+#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
+#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
+#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
+#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
+#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))
+
+typedef struct _ViewManager ViewManager;
+typedef struct _ViewManagerClass ViewManagerClass;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+
+#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ())
+#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor))
+#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+
+typedef struct _ViewCollectionMonitor ViewCollectionMonitor;
+typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass;
+
+#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
+#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
+#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
+#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
+#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+
+typedef struct _CollectionViewManager CollectionViewManager;
+typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
+#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL)))
+#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+
+struct _SidebarBranch {
+ GObject parent_instance;
+ SidebarBranchPrivate * priv;
+};
+
+struct _SidebarBranchClass {
+ GObjectClass parent_class;
+};
+
+struct _LibraryBranch {
+ SidebarBranch parent_instance;
+ LibraryBranchPrivate * priv;
+};
+
+struct _LibraryBranchClass {
+ SidebarBranchClass parent_class;
+};
+
+struct _LibraryBranchPrivate {
+ LibraryPhotosEntry* _photos_entry;
+ LibraryFlaggedSidebarEntry* _flagged_entry;
+ LibraryLastImportSidebarEntry* _last_imported_entry;
+ LibraryImportQueueSidebarEntry* _import_queue_entry;
+ LibraryOfflineSidebarEntry* _offline_entry;
+ LibraryTrashSidebarEntry* _trash_entry;
+};
+
+typedef enum {
+ LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS,
+ LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED,
+ LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED,
+ LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE,
+ LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE,
+ LIBRARY_BRANCH_ENTRY_POSITION_TRASH
+} LibraryBranchEntryPosition;
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+typedef enum {
+ SIDEBAR_BRANCH_OPTIONS_NONE = 0,
+ SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0,
+ SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1,
+ SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2,
+ SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3
+} SidebarBranchOptions;
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _LibraryPhotosEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryPhotosEntryPrivate * priv;
+};
+
+struct _LibraryPhotosEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+struct _LibraryHideablePageEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryHideablePageEntryPrivate * priv;
+};
+
+struct _LibraryHideablePageEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _LibraryHideablePageEntryPrivate {
+ gboolean show_entry;
+};
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ RAW_DEVELOPER_SHOTWELL = 0,
+ RAW_DEVELOPER_CAMERA,
+ RAW_DEVELOPER_EMBEDDED
+} RawDeveloper;
+
+struct _MediaPage {
+ CheckerboardPage parent_instance;
+ MediaPagePrivate * priv;
+};
+
+struct _MediaPageClass {
+ CheckerboardPageClass parent_class;
+ void (*on_zoom_changed) (MediaPage* self);
+ void (*on_export) (MediaPage* self);
+ void (*on_increase_size) (MediaPage* self);
+ void (*on_decrease_size) (MediaPage* self);
+ void (*on_increase_rating) (MediaPage* self);
+ void (*on_decrease_rating) (MediaPage* self);
+ void (*on_set_rating) (MediaPage* self, Rating rating);
+ void (*on_rate_rejected) (MediaPage* self);
+ void (*on_rate_unrated) (MediaPage* self);
+ void (*on_rate_one) (MediaPage* self);
+ void (*on_rate_two) (MediaPage* self);
+ void (*on_rate_three) (MediaPage* self);
+ void (*on_rate_four) (MediaPage* self);
+ void (*on_rate_five) (MediaPage* self);
+ void (*on_move_to_trash) (MediaPage* self);
+ void (*on_edit_title) (MediaPage* self);
+ void (*on_edit_comment) (MediaPage* self);
+ void (*on_display_titles) (MediaPage* self, GtkAction* action);
+ void (*on_display_comments) (MediaPage* self, GtkAction* action);
+ void (*on_display_ratings) (MediaPage* self, GtkAction* action);
+ void (*on_display_tags) (MediaPage* self, GtkAction* action);
+ void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
+ void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
+ void (*on_sort_changed) (MediaPage* self);
+ void (*developer_changed) (MediaPage* self, RawDeveloper rd);
+ DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
+};
+
+struct _CollectionPage {
+ MediaPage parent_instance;
+ CollectionPagePrivate * priv;
+};
+
+struct _CollectionPageClass {
+ MediaPageClass parent_class;
+};
+
+struct _LibraryMainPage {
+ CollectionPage parent_instance;
+ LibraryMainPagePrivate * priv;
+};
+
+struct _LibraryMainPageClass {
+ CollectionPageClass parent_class;
+};
+
+
+static gpointer library_branch_parent_class = NULL;
+static gpointer library_photos_entry_parent_class = NULL;
+static gpointer library_hideable_page_entry_parent_class = NULL;
+static gpointer library_main_page_parent_class = NULL;
+
+GType sidebar_branch_get_type (void) G_GNUC_CONST;
+GType library_branch_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType library_photos_entry_get_type (void) G_GNUC_CONST;
+GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
+GType library_flagged_sidebar_entry_get_type (void) G_GNUC_CONST;
+GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST;
+GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST;
+GType library_offline_sidebar_entry_get_type (void) G_GNUC_CONST;
+GType library_trash_sidebar_entry_get_type (void) G_GNUC_CONST;
+#define LIBRARY_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_TYPE_BRANCH, LibraryBranchPrivate))
+enum {
+ LIBRARY_BRANCH_DUMMY_PROPERTY,
+ LIBRARY_BRANCH_PHOTOS_ENTRY,
+ LIBRARY_BRANCH_FLAGGED_ENTRY,
+ LIBRARY_BRANCH_LAST_IMPORTED_ENTRY,
+ LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY,
+ LIBRARY_BRANCH_OFFLINE_ENTRY,
+ LIBRARY_BRANCH_TRASH_ENTRY
+};
+static GType library_branch_entry_position_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+#define LIBRARY_BRANCH_POSITION_DATA "x-photos-entry-position"
+LibraryBranch* library_branch_new (void);
+LibraryBranch* library_branch_construct (GType object_type);
+SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized);
+SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized);
+GType sidebar_grouping_get_type (void) G_GNUC_CONST;
+GType sidebar_header_get_type (void) G_GNUC_CONST;
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_branch_options_get_type (void) G_GNUC_CONST;
+static gint library_branch_comparator (SidebarEntry* a, SidebarEntry* b);
+static gint _library_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b);
+SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator);
+SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator);
+LibraryPhotosEntry* library_photos_entry_new (void);
+LibraryPhotosEntry* library_photos_entry_construct (GType object_type);
+static void library_branch_set_photos_entry (LibraryBranch* self, LibraryPhotosEntry* value);
+LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void);
+LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type);
+static void library_branch_set_trash_entry (LibraryBranch* self, LibraryTrashSidebarEntry* value);
+LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void);
+LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type);
+static void library_branch_set_last_imported_entry (LibraryBranch* self, LibraryLastImportSidebarEntry* value);
+LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void);
+LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type);
+static void library_branch_set_flagged_entry (LibraryBranch* self, LibraryFlaggedSidebarEntry* value);
+LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void);
+LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type);
+static void library_branch_set_offline_entry (LibraryBranch* self, LibraryOfflineSidebarEntry* value);
+LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void);
+LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type);
+static void library_branch_set_import_queue_entry (LibraryBranch* self, LibraryImportQueueSidebarEntry* value);
+static void library_branch_insert (LibraryBranch* self, SidebarEntry* entry, gint position);
+LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self);
+LibraryTrashSidebarEntry* library_branch_get_trash_entry (LibraryBranch* self);
+LibraryFlaggedSidebarEntry* library_branch_get_flagged_entry (LibraryBranch* self);
+static void library_branch_on_flagged_visibility_changed (LibraryBranch* self);
+static void _library_branch_on_flagged_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self);
+LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self);
+static void library_branch_on_last_imported_visibility_changed (LibraryBranch* self);
+static void _library_branch_on_last_imported_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self);
+LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self);
+static void library_branch_on_import_queue_visibility_changed (LibraryBranch* self);
+static void _library_branch_on_import_queue_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self);
+LibraryOfflineSidebarEntry* library_branch_get_offline_entry (LibraryBranch* self);
+static void library_branch_on_offline_visibility_changed (LibraryBranch* self);
+static void _library_branch_on_offline_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self);
+void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator);
+SidebarEntry* sidebar_branch_get_root (SidebarBranch* self);
+static void library_branch_update_entry_visibility (LibraryBranch* self, LibraryHideablePageEntry* entry, gint position);
+gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self);
+gboolean sidebar_branch_has_entry (SidebarBranch* self, SidebarEntry* entry);
+void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry);
+static void library_branch_finalize (GObject* obj);
+static void _vala_library_branch_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+static void _vala_library_branch_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_PHOTOS_ENTRY_DUMMY_PROPERTY
+};
+SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type);
+static gchar* library_photos_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+static gchar* library_photos_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+#define RESOURCES_ICON_PHOTOS "shotwell"
+static Page* library_photos_entry_real_create_page (SidebarSimplePageEntry* base);
+LibraryMainPage* library_main_page_new (ProgressMonitor monitor, void* monitor_target);
+LibraryMainPage* library_main_page_construct (GType object_type, ProgressMonitor monitor, void* monitor_target);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType library_main_page_get_type (void) G_GNUC_CONST;
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryPrivate))
+enum {
+ LIBRARY_HIDEABLE_PAGE_ENTRY_DUMMY_PROPERTY,
+ LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE
+};
+LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type);
+void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value);
+static void library_hideable_page_entry_finalize (GObject* obj);
+static void _vala_library_hideable_page_entry_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+static void _vala_library_hideable_page_entry_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType raw_developer_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_MAIN_PAGE_DUMMY_PROPERTY
+};
+#define LIBRARY_MAIN_PAGE_NAME _ ("Library")
+CollectionPage* collection_page_construct (GType object_type, const gchar* page_name);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+gpointer view_manager_ref (gpointer instance);
+void view_manager_unref (gpointer instance);
+GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_manager (GValue* value, gpointer v_object);
+void value_take_view_manager (GValue* value, gpointer v_object);
+gpointer value_get_view_manager (const GValue* value);
+GType view_manager_get_type (void) G_GNUC_CONST;
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+gpointer view_collection_monitor_ref (gpointer instance);
+void view_collection_monitor_unref (gpointer instance);
+GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void view_collection_value_set_monitor (GValue* value, gpointer v_object);
+void view_collection_value_take_monitor (GValue* value, gpointer v_object);
+gpointer view_collection_value_get_monitor (const GValue* value);
+GType view_collection_monitor_get_type (void) G_GNUC_CONST;
+ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target);
+CollectionViewManager* collection_view_manager_new (CollectionPage* page);
+CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page);
+GType collection_view_manager_get_type (void) G_GNUC_CONST;
+static void library_main_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by);
+static void library_main_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by);
+void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by);
+
+
+static GType library_branch_entry_position_get_type (void) {
+ static volatile gsize library_branch_entry_position_type_id__volatile = 0;
+ if (g_once_init_enter (&library_branch_entry_position_type_id__volatile)) {
+ static const GEnumValue values[] = {{LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS, "LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS", "photos"}, {LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED, "LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED", "flagged"}, {LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED, "LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED", "last-imported"}, {LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE, "LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE", "import-queue"}, {LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE, "LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE", "offline"}, {LIBRARY_BRANCH_ENTRY_POSITION_TRASH, "LIBRARY_BRANCH_ENTRY_POSITION_TRASH", "trash"}, {0, NULL, NULL}};
+ GType library_branch_entry_position_type_id;
+ library_branch_entry_position_type_id = g_enum_register_static ("LibraryBranchEntryPosition", values);
+ g_once_init_leave (&library_branch_entry_position_type_id__volatile, library_branch_entry_position_type_id);
+ }
+ return library_branch_entry_position_type_id__volatile;
+}
+
+
+static gint _library_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b) {
+ gint result;
+ result = library_branch_comparator ((SidebarEntry*) a, (SidebarEntry*) b);
+#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 997 "Branch.c"
+}
+
+
+static void _library_branch_on_flagged_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) {
+#line 43 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_flagged_visibility_changed ((LibraryBranch*) self);
+#line 1004 "Branch.c"
+}
+
+
+static void _library_branch_on_last_imported_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) {
+#line 46 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_last_imported_visibility_changed ((LibraryBranch*) self);
+#line 1011 "Branch.c"
+}
+
+
+static void _library_branch_on_import_queue_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) {
+#line 49 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_import_queue_visibility_changed ((LibraryBranch*) self);
+#line 1018 "Branch.c"
+}
+
+
+static void _library_branch_on_offline_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) {
+#line 52 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_offline_visibility_changed ((LibraryBranch*) self);
+#line 1025 "Branch.c"
+}
+
+
+LibraryBranch* library_branch_construct (GType object_type) {
+ LibraryBranch * self = NULL;
+ const gchar* _tmp0_ = NULL;
+ SidebarHeader* _tmp1_ = NULL;
+ SidebarHeader* _tmp2_ = NULL;
+ LibraryPhotosEntry* _tmp3_ = NULL;
+ LibraryPhotosEntry* _tmp4_ = NULL;
+ LibraryTrashSidebarEntry* _tmp5_ = NULL;
+ LibraryTrashSidebarEntry* _tmp6_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp7_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp8_ = NULL;
+ LibraryFlaggedSidebarEntry* _tmp9_ = NULL;
+ LibraryFlaggedSidebarEntry* _tmp10_ = NULL;
+ LibraryOfflineSidebarEntry* _tmp11_ = NULL;
+ LibraryOfflineSidebarEntry* _tmp12_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp13_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp14_ = NULL;
+ LibraryPhotosEntry* _tmp15_ = NULL;
+ LibraryTrashSidebarEntry* _tmp16_ = NULL;
+ LibraryFlaggedSidebarEntry* _tmp17_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp18_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp19_ = NULL;
+ LibraryOfflineSidebarEntry* _tmp20_ = NULL;
+#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = _ ("Library");
+#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = sidebar_header_new (_tmp0_, TRUE);
+#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = _tmp1_;
+#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = (LibraryBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry), SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING, _library_branch_comparator_gcompare_func, NULL);
+#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp2_);
+#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = library_photos_entry_new ();
+#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp4_ = _tmp3_;
+#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_photos_entry (self, _tmp4_);
+#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp4_);
+#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp5_ = library_trash_sidebar_entry_new ();
+#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp6_ = _tmp5_;
+#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_trash_entry (self, _tmp6_);
+#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp6_);
+#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp7_ = library_last_import_sidebar_entry_new ();
+#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp8_ = _tmp7_;
+#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_last_imported_entry (self, _tmp8_);
+#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp8_);
+#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp9_ = library_flagged_sidebar_entry_new ();
+#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp10_ = _tmp9_;
+#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_flagged_entry (self, _tmp10_);
+#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp10_);
+#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp11_ = library_offline_sidebar_entry_new ();
+#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp12_ = _tmp11_;
+#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_offline_entry (self, _tmp12_);
+#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp12_);
+#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp13_ = library_import_queue_sidebar_entry_new ();
+#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_import_queue_entry (self, _tmp14_);
+#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp14_);
+#line 40 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp15_ = self->priv->_photos_entry;
+#line 40 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_insert (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS);
+#line 41 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp16_ = self->priv->_trash_entry;
+#line 41 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_insert (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_TRASH);
+#line 43 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp17_ = self->priv->_flagged_entry;
+#line 43 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_flagged_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0);
+#line 44 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_flagged_visibility_changed (self);
+#line 46 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp18_ = self->priv->_last_imported_entry;
+#line 46 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_last_imported_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0);
+#line 47 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_last_imported_visibility_changed (self);
+#line 49 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp19_ = self->priv->_import_queue_entry;
+#line 49 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_import_queue_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0);
+#line 50 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_import_queue_visibility_changed (self);
+#line 52 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp20_ = self->priv->_offline_entry;
+#line 52 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_offline_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0);
+#line 53 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_on_offline_visibility_changed (self);
+#line 29 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return self;
+#line 1144 "Branch.c"
+}
+
+
+LibraryBranch* library_branch_new (void) {
+#line 29 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return library_branch_construct (LIBRARY_TYPE_BRANCH);
+#line 1151 "Branch.c"
+}
+
+
+static void library_branch_insert (LibraryBranch* self, SidebarEntry* entry, gint position) {
+ SidebarEntry* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ SidebarEntry* _tmp2_ = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+#line 56 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 56 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (SIDEBAR_IS_ENTRY (entry));
+#line 57 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = entry;
+#line 57 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = position;
+#line 57 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_set_data_full (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), LIBRARY_BRANCH_POSITION_DATA, (gpointer) ((gintptr) _tmp1_), NULL);
+#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp4_ = entry;
+#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, _tmp4_, NULL);
+#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp3_);
+#line 1181 "Branch.c"
+}
+
+
+static void library_branch_on_flagged_visibility_changed (LibraryBranch* self) {
+ LibraryFlaggedSidebarEntry* _tmp0_ = NULL;
+#line 61 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 62 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_flagged_entry;
+#line 62 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED);
+#line 1193 "Branch.c"
+}
+
+
+static void library_branch_on_last_imported_visibility_changed (LibraryBranch* self) {
+ LibraryLastImportSidebarEntry* _tmp0_ = NULL;
+#line 65 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 66 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_last_imported_entry;
+#line 66 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED);
+#line 1205 "Branch.c"
+}
+
+
+static void library_branch_on_import_queue_visibility_changed (LibraryBranch* self) {
+ LibraryImportQueueSidebarEntry* _tmp0_ = NULL;
+#line 69 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 70 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_import_queue_entry;
+#line 70 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE);
+#line 1217 "Branch.c"
+}
+
+
+static void library_branch_on_offline_visibility_changed (LibraryBranch* self) {
+ LibraryOfflineSidebarEntry* _tmp0_ = NULL;
+#line 73 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 74 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_offline_entry;
+#line 74 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE);
+#line 1229 "Branch.c"
+}
+
+
+static void library_branch_update_entry_visibility (LibraryBranch* self, LibraryHideablePageEntry* entry, gint position) {
+ LibraryHideablePageEntry* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+#line 77 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 77 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_HIDEABLE_PAGE_ENTRY (entry));
+#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = entry;
+#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = library_hideable_page_entry_get_visible (_tmp0_);
+#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = _tmp1_;
+#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (_tmp2_) {
+#line 1249 "Branch.c"
+ LibraryHideablePageEntry* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 79 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = entry;
+#line 79 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp4_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 79 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (!_tmp4_) {
+#line 1258 "Branch.c"
+ LibraryHideablePageEntry* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+#line 80 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp5_ = entry;
+#line 80 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp6_ = position;
+#line 80 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_insert (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _tmp6_);
+#line 1267 "Branch.c"
+ }
+ } else {
+ LibraryHideablePageEntry* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+#line 81 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp7_ = entry;
+#line 81 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp8_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 81 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (_tmp8_) {
+#line 1278 "Branch.c"
+ LibraryHideablePageEntry* _tmp9_ = NULL;
+#line 82 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp9_ = entry;
+#line 82 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 1284 "Branch.c"
+ }
+ }
+}
+
+
+static gint library_branch_comparator (SidebarEntry* a, SidebarEntry* b) {
+ gint result = 0;
+ SidebarEntry* _tmp0_ = NULL;
+ gconstpointer _tmp1_ = NULL;
+ SidebarEntry* _tmp2_ = NULL;
+ gconstpointer _tmp3_ = NULL;
+#line 86 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
+#line 86 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
+#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = a;
+#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = g_object_get_data (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), LIBRARY_BRANCH_POSITION_DATA);
+#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = b;
+#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = g_object_get_data (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, G_TYPE_OBJECT, GObject), LIBRARY_BRANCH_POSITION_DATA);
+#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = ((gint) ((gintptr) _tmp1_)) - ((gint) ((gintptr) _tmp3_));
+#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1312 "Branch.c"
+}
+
+
+LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self) {
+ LibraryPhotosEntry* result;
+ LibraryPhotosEntry* _tmp0_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL);
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_photos_entry;
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1327 "Branch.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1334 "Branch.c"
+}
+
+
+static void library_branch_set_photos_entry (LibraryBranch* self, LibraryPhotosEntry* value) {
+ LibraryPhotosEntry* _tmp0_ = NULL;
+ LibraryPhotosEntry* _tmp1_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_photos_entry);
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->_photos_entry = _tmp1_;
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "photos-entry");
+#line 1353 "Branch.c"
+}
+
+
+LibraryFlaggedSidebarEntry* library_branch_get_flagged_entry (LibraryBranch* self) {
+ LibraryFlaggedSidebarEntry* result;
+ LibraryFlaggedSidebarEntry* _tmp0_ = NULL;
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL);
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_flagged_entry;
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1368 "Branch.c"
+}
+
+
+static void library_branch_set_flagged_entry (LibraryBranch* self, LibraryFlaggedSidebarEntry* value) {
+ LibraryFlaggedSidebarEntry* _tmp0_ = NULL;
+ LibraryFlaggedSidebarEntry* _tmp1_ = NULL;
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_flagged_entry);
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->_flagged_entry = _tmp1_;
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "flagged-entry");
+#line 1387 "Branch.c"
+}
+
+
+LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self) {
+ LibraryLastImportSidebarEntry* result;
+ LibraryLastImportSidebarEntry* _tmp0_ = NULL;
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL);
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_last_imported_entry;
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1402 "Branch.c"
+}
+
+
+static void library_branch_set_last_imported_entry (LibraryBranch* self, LibraryLastImportSidebarEntry* value) {
+ LibraryLastImportSidebarEntry* _tmp0_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp1_ = NULL;
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_last_imported_entry);
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->_last_imported_entry = _tmp1_;
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "last-imported-entry");
+#line 1421 "Branch.c"
+}
+
+
+LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self) {
+ LibraryImportQueueSidebarEntry* result;
+ LibraryImportQueueSidebarEntry* _tmp0_ = NULL;
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL);
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_import_queue_entry;
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1436 "Branch.c"
+}
+
+
+static void library_branch_set_import_queue_entry (LibraryBranch* self, LibraryImportQueueSidebarEntry* value) {
+ LibraryImportQueueSidebarEntry* _tmp0_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp1_ = NULL;
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_import_queue_entry);
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->_import_queue_entry = _tmp1_;
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "import-queue-entry");
+#line 1455 "Branch.c"
+}
+
+
+LibraryOfflineSidebarEntry* library_branch_get_offline_entry (LibraryBranch* self) {
+ LibraryOfflineSidebarEntry* result;
+ LibraryOfflineSidebarEntry* _tmp0_ = NULL;
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL);
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_offline_entry;
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1470 "Branch.c"
+}
+
+
+static void library_branch_set_offline_entry (LibraryBranch* self, LibraryOfflineSidebarEntry* value) {
+ LibraryOfflineSidebarEntry* _tmp0_ = NULL;
+ LibraryOfflineSidebarEntry* _tmp1_ = NULL;
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_offline_entry);
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->_offline_entry = _tmp1_;
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "offline-entry");
+#line 1489 "Branch.c"
+}
+
+
+LibraryTrashSidebarEntry* library_branch_get_trash_entry (LibraryBranch* self) {
+ LibraryTrashSidebarEntry* result;
+ LibraryTrashSidebarEntry* _tmp0_ = NULL;
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL);
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->_trash_entry;
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1504 "Branch.c"
+}
+
+
+static void library_branch_set_trash_entry (LibraryBranch* self, LibraryTrashSidebarEntry* value) {
+ LibraryTrashSidebarEntry* _tmp0_ = NULL;
+ LibraryTrashSidebarEntry* _tmp1_ = NULL;
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_BRANCH (self));
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_trash_entry);
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->_trash_entry = _tmp1_;
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "trash-entry");
+#line 1523 "Branch.c"
+}
+
+
+static void library_branch_class_init (LibraryBranchClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_type_class_add_private (klass, sizeof (LibraryBranchPrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_library_branch_get_property;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (klass)->set_property = _vala_library_branch_set_property;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_branch_finalize;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_PHOTOS_ENTRY, g_param_spec_object ("photos-entry", "photos-entry", "photos-entry", LIBRARY_TYPE_PHOTOS_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_FLAGGED_ENTRY, g_param_spec_object ("flagged-entry", "flagged-entry", "flagged-entry", LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_LAST_IMPORTED_ENTRY, g_param_spec_object ("last-imported-entry", "last-imported-entry", "last-imported-entry", LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY, g_param_spec_object ("import-queue-entry", "import-queue-entry", "import-queue-entry", LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_OFFLINE_ENTRY, g_param_spec_object ("offline-entry", "offline-entry", "offline-entry", LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_TRASH_ENTRY, g_param_spec_object ("trash-entry", "trash-entry", "trash-entry", LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1550 "Branch.c"
+}
+
+
+static void library_branch_instance_init (LibraryBranch * self) {
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv = LIBRARY_BRANCH_GET_PRIVATE (self);
+#line 1557 "Branch.c"
+}
+
+
+static void library_branch_finalize (GObject* obj) {
+ LibraryBranch * self;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_BRANCH, LibraryBranch);
+#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_photos_entry);
+#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_flagged_entry);
+#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_last_imported_entry);
+#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_import_queue_entry);
+#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_offline_entry);
+#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (self->priv->_trash_entry);
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (library_branch_parent_class)->finalize (obj);
+#line 1579 "Branch.c"
+}
+
+
+GType library_branch_get_type (void) {
+ static volatile gsize library_branch_type_id__volatile = 0;
+ if (g_once_init_enter (&library_branch_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryBranch), 0, (GInstanceInitFunc) library_branch_instance_init, NULL };
+ GType library_branch_type_id;
+ library_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "LibraryBranch", &g_define_type_info, 0);
+ g_once_init_leave (&library_branch_type_id__volatile, library_branch_type_id);
+ }
+ return library_branch_type_id__volatile;
+}
+
+
+static void _vala_library_branch_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ LibraryBranch * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_BRANCH, LibraryBranch);
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ switch (property_id) {
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_PHOTOS_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_object (value, library_branch_get_photos_entry (self));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_FLAGGED_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_object (value, library_branch_get_flagged_entry (self));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_LAST_IMPORTED_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_object (value, library_branch_get_last_imported_entry (self));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_object (value, library_branch_get_import_queue_entry (self));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_OFFLINE_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_object (value, library_branch_get_offline_entry (self));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_TRASH_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_object (value, library_branch_get_trash_entry (self));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1636 "Branch.c"
+ default:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1642 "Branch.c"
+ }
+}
+
+
+static void _vala_library_branch_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
+ LibraryBranch * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_BRANCH, LibraryBranch);
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ switch (property_id) {
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_PHOTOS_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_photos_entry (self, g_value_get_object (value));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_FLAGGED_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_flagged_entry (self, g_value_get_object (value));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_LAST_IMPORTED_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_last_imported_entry (self, g_value_get_object (value));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_import_queue_entry (self, g_value_get_object (value));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_OFFLINE_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_offline_entry (self, g_value_get_object (value));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_BRANCH_TRASH_ENTRY:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_branch_set_trash_entry (self, g_value_get_object (value));
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1688 "Branch.c"
+ default:
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1694 "Branch.c"
+ }
+}
+
+
+LibraryPhotosEntry* library_photos_entry_construct (GType object_type) {
+ LibraryPhotosEntry * self = NULL;
+#line 93 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = (LibraryPhotosEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 93 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return self;
+#line 1705 "Branch.c"
+}
+
+
+LibraryPhotosEntry* library_photos_entry_new (void) {
+#line 93 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return library_photos_entry_construct (LIBRARY_TYPE_PHOTOS_ENTRY);
+#line 1712 "Branch.c"
+}
+
+
+static gchar* library_photos_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ LibraryPhotosEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 96 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry);
+#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = _ ("Photos");
+#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp1_;
+#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1731 "Branch.c"
+}
+
+
+static gchar* library_photos_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ LibraryPhotosEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 100 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry);
+#line 101 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = g_strdup (RESOURCES_ICON_PHOTOS);
+#line 101 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 101 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1747 "Branch.c"
+}
+
+
+static Page* library_photos_entry_real_create_page (SidebarSimplePageEntry* base) {
+ LibraryPhotosEntry * self;
+ Page* result = NULL;
+ LibraryMainPage* _tmp0_ = NULL;
+#line 104 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry);
+#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = library_main_page_new (NULL, NULL);
+#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_ref_sink (_tmp0_);
+#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1765 "Branch.c"
+}
+
+
+static void library_photos_entry_class_init (LibraryPhotosEntryClass * klass) {
+#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_photos_entry_parent_class = g_type_class_peek_parent (klass);
+#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_photos_entry_real_get_sidebar_name;
+#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_photos_entry_real_get_sidebar_icon;
+#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = library_photos_entry_real_create_page;
+#line 1778 "Branch.c"
+}
+
+
+static void library_photos_entry_instance_init (LibraryPhotosEntry * self) {
+}
+
+
+GType library_photos_entry_get_type (void) {
+ static volatile gsize library_photos_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_photos_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotosEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photos_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotosEntry), 0, (GInstanceInitFunc) library_photos_entry_instance_init, NULL };
+ GType library_photos_entry_type_id;
+ library_photos_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "LibraryPhotosEntry", &g_define_type_info, 0);
+ g_once_init_leave (&library_photos_entry_type_id__volatile, library_photos_entry_type_id);
+ }
+ return library_photos_entry_type_id__volatile;
+}
+
+
+LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type) {
+ LibraryHideablePageEntry * self = NULL;
+#line 125 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = (LibraryHideablePageEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 125 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return self;
+#line 1804 "Branch.c"
+}
+
+
+gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self) {
+ gboolean result;
+ gboolean _tmp0_ = FALSE;
+#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_val_if_fail (LIBRARY_IS_HIDEABLE_PAGE_ENTRY (self), FALSE);
+#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = self->priv->show_entry;
+#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ result = _tmp0_;
+#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return result;
+#line 1819 "Branch.c"
+}
+
+
+void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value) {
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+#line 116 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_return_if_fail (LIBRARY_IS_HIDEABLE_PAGE_ENTRY (self));
+#line 117 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = value;
+#line 117 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = self->priv->show_entry;
+#line 117 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 118 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return;
+#line 1838 "Branch.c"
+ }
+#line 120 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = value;
+#line 120 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->show_entry = _tmp2_;
+#line 121 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = value;
+#line 121 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_signal_emit_by_name (self, "visibility-changed", _tmp3_);
+#line 116 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_notify ((GObject *) self, "visible");
+#line 1850 "Branch.c"
+}
+
+
+static void library_hideable_page_entry_class_init (LibraryHideablePageEntryClass * klass) {
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_hideable_page_entry_parent_class = g_type_class_peek_parent (klass);
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_type_class_add_private (klass, sizeof (LibraryHideablePageEntryPrivate));
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_library_hideable_page_entry_get_property;
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (klass)->set_property = _vala_library_hideable_page_entry_set_property;
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_hideable_page_entry_finalize;
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE, g_param_spec_boolean ("visible", "visible", "visible", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_signal_new ("visibility_changed", LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
+#line 1869 "Branch.c"
+}
+
+
+static void library_hideable_page_entry_instance_init (LibraryHideablePageEntry * self) {
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv = LIBRARY_HIDEABLE_PAGE_ENTRY_GET_PRIVATE (self);
+#line 113 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self->priv->show_entry = FALSE;
+#line 1878 "Branch.c"
+}
+
+
+static void library_hideable_page_entry_finalize (GObject* obj) {
+ LibraryHideablePageEntry * self;
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry);
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_CLASS (library_hideable_page_entry_parent_class)->finalize (obj);
+#line 1888 "Branch.c"
+}
+
+
+GType library_hideable_page_entry_get_type (void) {
+ static volatile gsize library_hideable_page_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_hideable_page_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryHideablePageEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_hideable_page_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryHideablePageEntry), 0, (GInstanceInitFunc) library_hideable_page_entry_instance_init, NULL };
+ GType library_hideable_page_entry_type_id;
+ library_hideable_page_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "LibraryHideablePageEntry", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&library_hideable_page_entry_type_id__volatile, library_hideable_page_entry_type_id);
+ }
+ return library_hideable_page_entry_type_id__volatile;
+}
+
+
+static void _vala_library_hideable_page_entry_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ LibraryHideablePageEntry * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry);
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ switch (property_id) {
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE:
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ g_value_set_boolean (value, library_hideable_page_entry_get_visible (self));
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1915 "Branch.c"
+ default:
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1921 "Branch.c"
+ }
+}
+
+
+static void _vala_library_hideable_page_entry_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
+ LibraryHideablePageEntry * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry);
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ switch (property_id) {
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ case LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE:
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_hideable_page_entry_set_visible (self, g_value_get_boolean (value));
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1937 "Branch.c"
+ default:
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 1943 "Branch.c"
+ }
+}
+
+
+LibraryMainPage* library_main_page_construct (GType object_type, ProgressMonitor monitor, void* monitor_target) {
+ LibraryMainPage * self = NULL;
+#line 133 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = (LibraryMainPage*) collection_page_construct (object_type, LIBRARY_MAIN_PAGE_NAME);
+#line 1952 "Branch.c"
+ {
+ GeeIterator* _sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp3_);
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _sources_it = _tmp5_;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ while (TRUE) {
+#line 1981 "Branch.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ ViewCollection* _tmp10_ = NULL;
+ ViewCollection* _tmp11_ = NULL;
+ MediaSourceCollection* _tmp12_ = NULL;
+ CollectionViewManager* _tmp13_ = NULL;
+ CollectionViewManager* _tmp14_ = NULL;
+ ProgressMonitor _tmp15_ = NULL;
+ void* _tmp15__target = NULL;
+ ViewCollectionMonitor* _tmp16_ = NULL;
+ ViewCollectionMonitor* _tmp17_ = NULL;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp6_ = _sources_it;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (!_tmp7_) {
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ break;
+#line 2004 "Branch.c"
+ }
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp8_ = _sources_it;
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ sources = (MediaSourceCollection*) _tmp9_;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp11_ = _tmp10_;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp12_ = sources;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp13_ = collection_view_manager_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage));
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp15_ = monitor;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp15__target = monitor_target;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp16_ = view_collection_monitor_source_collection (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, _tmp15_, _tmp15__target);
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp17_ = _tmp16_;
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _view_collection_monitor_unref0 (_tmp17_);
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _view_manager_unref0 (_tmp14_);
+#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _data_collection_unref0 (_tmp11_);
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _data_collection_unref0 (sources);
+#line 2038 "Branch.c"
+ }
+#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_sources_it);
+#line 2042 "Branch.c"
+ }
+#line 132 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return self;
+#line 2046 "Branch.c"
+}
+
+
+LibraryMainPage* library_main_page_new (ProgressMonitor monitor, void* monitor_target) {
+#line 132 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ return library_main_page_construct (LIBRARY_TYPE_MAIN_PAGE, monitor, monitor_target);
+#line 2053 "Branch.c"
+}
+
+
+static void library_main_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) {
+ LibraryMainPage * self;
+ gboolean _vala_sort_order = FALSE;
+ gint _vala_sort_by = 0;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage);
+#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_);
+#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _vala_sort_order = _tmp2_;
+#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _vala_sort_by = _tmp3_;
+#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp1_);
+#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (sort_order) {
+#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ *sort_order = _vala_sort_order;
+#line 2083 "Branch.c"
+ }
+#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ if (sort_by) {
+#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ *sort_by = _vala_sort_by;
+#line 2089 "Branch.c"
+ }
+}
+
+
+static void library_main_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) {
+ LibraryMainPage * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 143 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage);
+#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp2_ = sort_order;
+#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _tmp3_ = sort_by;
+#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_);
+#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ _g_object_unref0 (_tmp1_);
+#line 2114 "Branch.c"
+}
+
+
+static void library_main_page_class_init (LibraryMainPageClass * klass) {
+#line 129 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ library_main_page_parent_class = g_type_class_peek_parent (klass);
+#line 129 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ ((MediaPageClass *) klass)->get_config_photos_sort = library_main_page_real_get_config_photos_sort;
+#line 129 "/home/jens/Source/shotwell/src/library/Branch.vala"
+ ((MediaPageClass *) klass)->set_config_photos_sort = library_main_page_real_set_config_photos_sort;
+#line 2125 "Branch.c"
+}
+
+
+static void library_main_page_instance_init (LibraryMainPage * self) {
+}
+
+
+GType library_main_page_get_type (void) {
+ static volatile gsize library_main_page_type_id__volatile = 0;
+ if (g_once_init_enter (&library_main_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryMainPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_main_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMainPage), 0, (GInstanceInitFunc) library_main_page_instance_init, NULL };
+ GType library_main_page_type_id;
+ library_main_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "LibraryMainPage", &g_define_type_info, 0);
+ g_once_init_leave (&library_main_page_type_id__volatile, library_main_page_type_id);
+ }
+ return library_main_page_type_id__volatile;
+}
+
+
+
diff --git a/src/library/FlaggedPage.c b/src/library/FlaggedPage.c
new file mode 100644
index 0000000..c1b3a48
--- /dev/null
+++ b/src/library/FlaggedPage.c
@@ -0,0 +1,1230 @@
+/* FlaggedPage.c generated by valac 0.32.1, the Vala compiler
+ * generated from FlaggedPage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+typedef struct _MediaPagePrivate MediaPagePrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+typedef struct _CollectionPagePrivate CollectionPagePrivate;
+
+#define TYPE_FLAGGED_PAGE (flagged_page_get_type ())
+#define FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGED_PAGE, FlaggedPage))
+#define FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAGGED_PAGE, FlaggedPageClass))
+#define IS_FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGED_PAGE))
+#define IS_FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAGGED_PAGE))
+#define FLAGGED_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAGGED_PAGE, FlaggedPageClass))
+
+typedef struct _FlaggedPage FlaggedPage;
+typedef struct _FlaggedPageClass FlaggedPageClass;
+typedef struct _FlaggedPagePrivate FlaggedPagePrivate;
+
+#define TYPE_VIEW_MANAGER (view_manager_get_type ())
+#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
+#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
+#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
+#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
+#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))
+
+typedef struct _ViewManager ViewManager;
+typedef struct _ViewManagerClass ViewManagerClass;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+
+#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ())
+#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter))
+#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
+#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
+#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
+#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
+
+typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter;
+typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass;
+
+#define COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER (collection_page_collection_search_view_filter_get_type ())
+#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter))
+#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass))
+#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER))
+#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER))
+#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass))
+
+typedef struct _CollectionPageCollectionSearchViewFilter CollectionPageCollectionSearchViewFilter;
+typedef struct _CollectionPageCollectionSearchViewFilterClass CollectionPageCollectionSearchViewFilterClass;
+
+#define FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER (flagged_page_flagged_search_view_filter_get_type ())
+#define FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilter))
+#define FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilterClass))
+#define FLAGGED_PAGE_IS_FLAGGED_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER))
+#define FLAGGED_PAGE_IS_FLAGGED_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER))
+#define FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilterClass))
+
+typedef struct _FlaggedPageFlaggedSearchViewFilter FlaggedPageFlaggedSearchViewFilter;
+typedef struct _FlaggedPageFlaggedSearchViewFilterClass FlaggedPageFlaggedSearchViewFilterClass;
+#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL)))
+#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL)))
+#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))
+
+#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
+#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
+#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
+#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
+#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+
+typedef struct _CollectionViewManager CollectionViewManager;
+typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
+
+#define FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER (flagged_page_flagged_view_manager_get_type ())
+#define FLAGGED_PAGE_FLAGGED_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManager))
+#define FLAGGED_PAGE_FLAGGED_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManagerClass))
+#define FLAGGED_PAGE_IS_FLAGGED_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER))
+#define FLAGGED_PAGE_IS_FLAGGED_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER))
+#define FLAGGED_PAGE_FLAGGED_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManagerClass))
+
+typedef struct _FlaggedPageFlaggedViewManager FlaggedPageFlaggedViewManager;
+typedef struct _FlaggedPageFlaggedViewManagerClass FlaggedPageFlaggedViewManagerClass;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+
+#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ())
+#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor))
+#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+
+typedef struct _ViewCollectionMonitor ViewCollectionMonitor;
+typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass;
+#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+typedef struct _ViewManagerPrivate ViewManagerPrivate;
+typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate;
+typedef struct _FlaggedPageFlaggedViewManagerPrivate FlaggedPageFlaggedViewManagerPrivate;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_FLAGGABLE (flaggable_get_type ())
+#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable))
+#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE))
+#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface))
+
+typedef struct _Flaggable Flaggable;
+typedef struct _FlaggableIface FlaggableIface;
+typedef struct _ViewFilterPrivate ViewFilterPrivate;
+typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;
+typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate;
+typedef struct _CollectionPageCollectionSearchViewFilterPrivate CollectionPageCollectionSearchViewFilterPrivate;
+typedef struct _FlaggedPageFlaggedSearchViewFilterPrivate FlaggedPageFlaggedSearchViewFilterPrivate;
+
+#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ RAW_DEVELOPER_SHOTWELL = 0,
+ RAW_DEVELOPER_CAMERA,
+ RAW_DEVELOPER_EMBEDDED
+} RawDeveloper;
+
+struct _MediaPage {
+ CheckerboardPage parent_instance;
+ MediaPagePrivate * priv;
+};
+
+struct _MediaPageClass {
+ CheckerboardPageClass parent_class;
+ void (*on_zoom_changed) (MediaPage* self);
+ void (*on_export) (MediaPage* self);
+ void (*on_increase_size) (MediaPage* self);
+ void (*on_decrease_size) (MediaPage* self);
+ void (*on_increase_rating) (MediaPage* self);
+ void (*on_decrease_rating) (MediaPage* self);
+ void (*on_set_rating) (MediaPage* self, Rating rating);
+ void (*on_rate_rejected) (MediaPage* self);
+ void (*on_rate_unrated) (MediaPage* self);
+ void (*on_rate_one) (MediaPage* self);
+ void (*on_rate_two) (MediaPage* self);
+ void (*on_rate_three) (MediaPage* self);
+ void (*on_rate_four) (MediaPage* self);
+ void (*on_rate_five) (MediaPage* self);
+ void (*on_move_to_trash) (MediaPage* self);
+ void (*on_edit_title) (MediaPage* self);
+ void (*on_edit_comment) (MediaPage* self);
+ void (*on_display_titles) (MediaPage* self, GtkAction* action);
+ void (*on_display_comments) (MediaPage* self, GtkAction* action);
+ void (*on_display_ratings) (MediaPage* self, GtkAction* action);
+ void (*on_display_tags) (MediaPage* self, GtkAction* action);
+ void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
+ void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
+ void (*on_sort_changed) (MediaPage* self);
+ void (*developer_changed) (MediaPage* self, RawDeveloper rd);
+ DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
+};
+
+struct _CollectionPage {
+ MediaPage parent_instance;
+ CollectionPagePrivate * priv;
+};
+
+struct _CollectionPageClass {
+ MediaPageClass parent_class;
+};
+
+struct _FlaggedPage {
+ CollectionPage parent_instance;
+ FlaggedPagePrivate * priv;
+};
+
+struct _FlaggedPageClass {
+ CollectionPageClass parent_class;
+};
+
+struct _FlaggedPagePrivate {
+ ViewManager* view_manager;
+ Alteration* prereq;
+ FlaggedPageFlaggedSearchViewFilter* search_filter;
+};
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+struct _ViewManager {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewManagerPrivate * priv;
+};
+
+struct _ViewManagerClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewManager *self);
+ gboolean (*include_in_view) (ViewManager* self, DataSource* source);
+ DataView* (*create_view) (ViewManager* self, DataSource* source);
+};
+
+struct _CollectionViewManager {
+ ViewManager parent_instance;
+ CollectionViewManagerPrivate * priv;
+};
+
+struct _CollectionViewManagerClass {
+ ViewManagerClass parent_class;
+};
+
+struct _FlaggedPageFlaggedViewManager {
+ CollectionViewManager parent_instance;
+ FlaggedPageFlaggedViewManagerPrivate * priv;
+};
+
+struct _FlaggedPageFlaggedViewManagerClass {
+ CollectionViewManagerClass parent_class;
+};
+
+struct _FlaggableIface {
+ GTypeInterface parent_iface;
+ gboolean (*is_flagged) (Flaggable* self);
+ void (*mark_flagged) (Flaggable* self);
+ void (*mark_unflagged) (Flaggable* self);
+};
+
+struct _ViewFilter {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewFilterPrivate * priv;
+};
+
+struct _ViewFilterClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewFilter *self);
+ gboolean (*predicate) (ViewFilter* self, DataView* view);
+ void (*refresh) (ViewFilter* self);
+};
+
+struct _SearchViewFilter {
+ ViewFilter parent_instance;
+ SearchViewFilterPrivate * priv;
+};
+
+struct _SearchViewFilterClass {
+ ViewFilterClass parent_class;
+ guint (*get_criteria) (SearchViewFilter* self);
+};
+
+struct _DefaultSearchViewFilter {
+ SearchViewFilter parent_instance;
+ DefaultSearchViewFilterPrivate * priv;
+};
+
+struct _DefaultSearchViewFilterClass {
+ SearchViewFilterClass parent_class;
+};
+
+struct _CollectionPageCollectionSearchViewFilter {
+ DefaultSearchViewFilter parent_instance;
+ CollectionPageCollectionSearchViewFilterPrivate * priv;
+};
+
+struct _CollectionPageCollectionSearchViewFilterClass {
+ DefaultSearchViewFilterClass parent_class;
+};
+
+struct _FlaggedPageFlaggedSearchViewFilter {
+ CollectionPageCollectionSearchViewFilter parent_instance;
+ FlaggedPageFlaggedSearchViewFilterPrivate * priv;
+};
+
+struct _FlaggedPageFlaggedSearchViewFilterClass {
+ CollectionPageCollectionSearchViewFilterClass parent_class;
+};
+
+typedef enum {
+ SEARCH_FILTER_CRITERIA_NONE = 0,
+ SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0,
+ SEARCH_FILTER_CRITERIA_TEXT = 1 << 1,
+ SEARCH_FILTER_CRITERIA_FLAG = 1 << 2,
+ SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3,
+ SEARCH_FILTER_CRITERIA_RATING = 1 << 4,
+ SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5,
+ SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL
+} SearchFilterCriteria;
+
+
+static gpointer flagged_page_parent_class = NULL;
+static gpointer flagged_page_flagged_view_manager_parent_class = NULL;
+static gpointer flagged_page_flagged_search_view_filter_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType raw_developer_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType flagged_page_get_type (void) G_GNUC_CONST;
+gpointer view_manager_ref (gpointer instance);
+void view_manager_unref (gpointer instance);
+GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_manager (GValue* value, gpointer v_object);
+void value_take_view_manager (GValue* value, gpointer v_object);
+gpointer value_get_view_manager (const GValue* value);
+GType view_manager_get_type (void) G_GNUC_CONST;
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+GType default_search_view_filter_get_type (void) G_GNUC_CONST;
+GType collection_page_collection_search_view_filter_get_type (void) G_GNUC_CONST;
+static GType flagged_page_flagged_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+#define FLAGGED_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_FLAGGED_PAGE, FlaggedPagePrivate))
+enum {
+ FLAGGED_PAGE_DUMMY_PROPERTY
+};
+Alteration* alteration_new (const gchar* subject, const gchar* detail);
+Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail);
+static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_new (void);
+static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_construct (GType object_type);
+#define FLAGGED_PAGE_NAME _ ("Flagged")
+FlaggedPage* flagged_page_new (void);
+FlaggedPage* flagged_page_construct (GType object_type);
+CollectionPage* collection_page_construct (GType object_type, const gchar* page_name);
+static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_new (FlaggedPage* owner);
+static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_construct (GType object_type, FlaggedPage* owner);
+GType collection_view_manager_get_type (void) G_GNUC_CONST;
+static GType flagged_page_flagged_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+gpointer view_collection_monitor_ref (gpointer instance);
+void view_collection_monitor_unref (gpointer instance);
+GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void view_collection_value_set_monitor (GValue* value, gpointer v_object);
+void view_collection_value_take_monitor (GValue* value, gpointer v_object);
+gpointer view_collection_value_get_monitor (const GValue* value);
+GType view_collection_monitor_get_type (void) G_GNUC_CONST;
+ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target);
+static void flagged_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by);
+static void flagged_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by);
+void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by);
+static SearchViewFilter* flagged_page_real_get_search_view_filter (CheckerboardPage* base);
+enum {
+ FLAGGED_PAGE_FLAGGED_VIEW_MANAGER_DUMMY_PROPERTY
+};
+CollectionViewManager* collection_view_manager_new (CollectionPage* page);
+CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page);
+static gboolean flagged_page_flagged_view_manager_real_include_in_view (ViewManager* base, DataSource* source);
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+GType flaggable_get_type (void) G_GNUC_CONST;
+gboolean flaggable_is_flagged (Flaggable* self);
+enum {
+ FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER_DUMMY_PROPERTY
+};
+static guint flagged_page_flagged_search_view_filter_real_get_criteria (SearchViewFilter* base);
+GType search_filter_criteria_get_type (void) G_GNUC_CONST;
+CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void);
+CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type);
+static void flagged_page_finalize (GObject* obj);
+
+
+FlaggedPage* flagged_page_construct (GType object_type) {
+ FlaggedPage * self = NULL;
+ FlaggedPageFlaggedViewManager* _tmp0_ = NULL;
+#line 34 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = (FlaggedPage*) collection_page_construct (object_type, FLAGGED_PAGE_NAME);
+#line 36 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = flagged_page_flagged_view_manager_new (self);
+#line 36 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _view_manager_unref0 (self->priv->view_manager);
+#line 36 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self->priv->view_manager = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_MANAGER, ViewManager);
+#line 829 "FlaggedPage.c"
+ {
+ GeeIterator* _sources_it = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ MediaCollectionRegistry* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeCollection* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+ GeeIterator* _tmp6_ = NULL;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp1_ = media_collection_registry_get_instance ();
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp2_ = _tmp1_;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp3_ = media_collection_registry_get_all (_tmp2_);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp4_ = _tmp3_;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp6_ = _tmp5_;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _g_object_unref0 (_tmp4_);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _media_collection_registry_unref0 (_tmp2_);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _sources_it = _tmp6_;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ while (TRUE) {
+#line 858 "FlaggedPage.c"
+ GeeIterator* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+ MediaSourceCollection* sources = NULL;
+ GeeIterator* _tmp9_ = NULL;
+ gpointer _tmp10_ = NULL;
+ ViewCollection* _tmp11_ = NULL;
+ ViewCollection* _tmp12_ = NULL;
+ MediaSourceCollection* _tmp13_ = NULL;
+ ViewManager* _tmp14_ = NULL;
+ Alteration* _tmp15_ = NULL;
+ ViewCollectionMonitor* _tmp16_ = NULL;
+ ViewCollectionMonitor* _tmp17_ = NULL;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp7_ = _sources_it;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp8_ = gee_iterator_next (_tmp7_);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ if (!_tmp8_) {
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ break;
+#line 879 "FlaggedPage.c"
+ }
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp9_ = _sources_it;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp10_ = gee_iterator_get (_tmp9_);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ sources = (MediaSourceCollection*) _tmp10_;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp12_ = _tmp11_;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp13_ = sources;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp14_ = self->priv->view_manager;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp15_ = self->priv->prereq;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp16_ = view_collection_monitor_source_collection (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp14_, _tmp15_, NULL, NULL, NULL);
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp17_ = _tmp16_;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _view_collection_monitor_unref0 (_tmp17_);
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _data_collection_unref0 (_tmp12_);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _data_collection_unref0 (sources);
+#line 907 "FlaggedPage.c"
+ }
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _g_object_unref0 (_sources_it);
+#line 911 "FlaggedPage.c"
+ }
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return self;
+#line 915 "FlaggedPage.c"
+}
+
+
+FlaggedPage* flagged_page_new (void) {
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return flagged_page_construct (TYPE_FLAGGED_PAGE);
+#line 922 "FlaggedPage.c"
+}
+
+
+static void flagged_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) {
+ FlaggedPage * self;
+ gboolean _vala_sort_order = FALSE;
+ gint _vala_sort_by = 0;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAGGED_PAGE, FlaggedPage);
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp1_ = _tmp0_;
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_);
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _vala_sort_order = _tmp2_;
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _vala_sort_by = _tmp3_;
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ if (sort_order) {
+#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ *sort_order = _vala_sort_order;
+#line 952 "FlaggedPage.c"
+ }
+#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ if (sort_by) {
+#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ *sort_by = _vala_sort_by;
+#line 958 "FlaggedPage.c"
+ }
+}
+
+
+static void flagged_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) {
+ FlaggedPage * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 46 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAGGED_PAGE, FlaggedPage);
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp1_ = _tmp0_;
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp2_ = sort_order;
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp3_ = sort_by;
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_);
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 983 "FlaggedPage.c"
+}
+
+
+static gpointer _view_filter_ref0 (gpointer self) {
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return self ? view_filter_ref (self) : NULL;
+#line 990 "FlaggedPage.c"
+}
+
+
+static SearchViewFilter* flagged_page_real_get_search_view_filter (CheckerboardPage* base) {
+ FlaggedPage * self;
+ SearchViewFilter* result = NULL;
+ FlaggedPageFlaggedSearchViewFilter* _tmp0_ = NULL;
+ SearchViewFilter* _tmp1_ = NULL;
+#line 50 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAGGED_PAGE, FlaggedPage);
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = self->priv->search_filter;
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ result = _tmp1_;
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return result;
+#line 1009 "FlaggedPage.c"
+}
+
+
+static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_construct (GType object_type, FlaggedPage* owner) {
+ FlaggedPageFlaggedViewManager* self = NULL;
+ FlaggedPage* _tmp0_ = NULL;
+#line 11 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ g_return_val_if_fail (IS_FLAGGED_PAGE (owner), NULL);
+#line 12 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = owner;
+#line 12 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = (FlaggedPageFlaggedViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage));
+#line 11 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return self;
+#line 1024 "FlaggedPage.c"
+}
+
+
+static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_new (FlaggedPage* owner) {
+#line 11 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return flagged_page_flagged_view_manager_construct (FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, owner);
+#line 1031 "FlaggedPage.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1038 "FlaggedPage.c"
+}
+
+
+static gboolean flagged_page_flagged_view_manager_real_include_in_view (ViewManager* base, DataSource* source) {
+ FlaggedPageFlaggedViewManager * self;
+ gboolean result = FALSE;
+ Flaggable* flaggable = NULL;
+ DataSource* _tmp0_ = NULL;
+ Flaggable* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ Flaggable* _tmp3_ = NULL;
+#line 15 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManager);
+#line 15 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = source;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp0_) : NULL);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ flaggable = _tmp1_;
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp3_ = flaggable;
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ if (_tmp3_ != NULL) {
+#line 1064 "FlaggedPage.c"
+ Flaggable* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp4_ = flaggable;
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp5_ = flaggable_is_flagged (_tmp4_);
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp2_ = _tmp5_;
+#line 1073 "FlaggedPage.c"
+ } else {
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp2_ = FALSE;
+#line 1077 "FlaggedPage.c"
+ }
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ result = _tmp2_;
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _g_object_unref0 (flaggable);
+#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return result;
+#line 1085 "FlaggedPage.c"
+}
+
+
+static void flagged_page_flagged_view_manager_class_init (FlaggedPageFlaggedViewManagerClass * klass) {
+#line 10 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ flagged_page_flagged_view_manager_parent_class = g_type_class_peek_parent (klass);
+#line 10 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ ((ViewManagerClass *) klass)->include_in_view = flagged_page_flagged_view_manager_real_include_in_view;
+#line 1094 "FlaggedPage.c"
+}
+
+
+static void flagged_page_flagged_view_manager_instance_init (FlaggedPageFlaggedViewManager * self) {
+}
+
+
+static GType flagged_page_flagged_view_manager_get_type (void) {
+ static volatile gsize flagged_page_flagged_view_manager_type_id__volatile = 0;
+ if (g_once_init_enter (&flagged_page_flagged_view_manager_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (FlaggedPageFlaggedViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flagged_page_flagged_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlaggedPageFlaggedViewManager), 0, (GInstanceInitFunc) flagged_page_flagged_view_manager_instance_init, NULL };
+ GType flagged_page_flagged_view_manager_type_id;
+ flagged_page_flagged_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "FlaggedPageFlaggedViewManager", &g_define_type_info, 0);
+ g_once_init_leave (&flagged_page_flagged_view_manager_type_id__volatile, flagged_page_flagged_view_manager_type_id);
+ }
+ return flagged_page_flagged_view_manager_type_id__volatile;
+}
+
+
+static guint flagged_page_flagged_search_view_filter_real_get_criteria (SearchViewFilter* base) {
+ FlaggedPageFlaggedSearchViewFilter * self;
+ guint result = 0U;
+#line 23 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilter);
+#line 24 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ result = (guint) (((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH);
+#line 24 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return result;
+#line 1123 "FlaggedPage.c"
+}
+
+
+static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_construct (GType object_type) {
+ FlaggedPageFlaggedSearchViewFilter* self = NULL;
+#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = (FlaggedPageFlaggedSearchViewFilter*) collection_page_collection_search_view_filter_construct (object_type);
+#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return self;
+#line 1133 "FlaggedPage.c"
+}
+
+
+static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_new (void) {
+#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ return flagged_page_flagged_search_view_filter_construct (FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER);
+#line 1140 "FlaggedPage.c"
+}
+
+
+static void flagged_page_flagged_search_view_filter_class_init (FlaggedPageFlaggedSearchViewFilterClass * klass) {
+#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ flagged_page_flagged_search_view_filter_parent_class = g_type_class_peek_parent (klass);
+#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ ((SearchViewFilterClass *) klass)->get_criteria = flagged_page_flagged_search_view_filter_real_get_criteria;
+#line 1149 "FlaggedPage.c"
+}
+
+
+static void flagged_page_flagged_search_view_filter_instance_init (FlaggedPageFlaggedSearchViewFilter * self) {
+}
+
+
+static GType flagged_page_flagged_search_view_filter_get_type (void) {
+ static volatile gsize flagged_page_flagged_search_view_filter_type_id__volatile = 0;
+ if (g_once_init_enter (&flagged_page_flagged_search_view_filter_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (FlaggedPageFlaggedSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flagged_page_flagged_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlaggedPageFlaggedSearchViewFilter), 0, (GInstanceInitFunc) flagged_page_flagged_search_view_filter_instance_init, NULL };
+ GType flagged_page_flagged_search_view_filter_type_id;
+ flagged_page_flagged_search_view_filter_type_id = g_type_register_static (COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, "FlaggedPageFlaggedSearchViewFilter", &g_define_type_info, 0);
+ g_once_init_leave (&flagged_page_flagged_search_view_filter_type_id__volatile, flagged_page_flagged_search_view_filter_type_id);
+ }
+ return flagged_page_flagged_search_view_filter_type_id__volatile;
+}
+
+
+static void flagged_page_class_init (FlaggedPageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ flagged_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ g_type_class_add_private (klass, sizeof (FlaggedPagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ ((MediaPageClass *) klass)->get_config_photos_sort = flagged_page_real_get_config_photos_sort;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ ((MediaPageClass *) klass)->set_config_photos_sort = flagged_page_real_set_config_photos_sort;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ ((CheckerboardPageClass *) klass)->get_search_view_filter = flagged_page_real_get_search_view_filter;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = flagged_page_finalize;
+#line 1182 "FlaggedPage.c"
+}
+
+
+static void flagged_page_instance_init (FlaggedPage * self) {
+ Alteration* _tmp0_ = NULL;
+ FlaggedPageFlaggedSearchViewFilter* _tmp1_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self->priv = FLAGGED_PAGE_GET_PRIVATE (self);
+#line 30 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp0_ = alteration_new ("metadata", "flagged");
+#line 30 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self->priv->prereq = _tmp0_;
+#line 31 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _tmp1_ = flagged_page_flagged_search_view_filter_new ();
+#line 31 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self->priv->search_filter = _tmp1_;
+#line 1199 "FlaggedPage.c"
+}
+
+
+static void flagged_page_finalize (GObject* obj) {
+ FlaggedPage * self;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FLAGGED_PAGE, FlaggedPage);
+#line 29 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _view_manager_unref0 (self->priv->view_manager);
+#line 30 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _alteration_unref0 (self->priv->prereq);
+#line 31 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ _view_filter_unref0 (self->priv->search_filter);
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala"
+ G_OBJECT_CLASS (flagged_page_parent_class)->finalize (obj);
+#line 1215 "FlaggedPage.c"
+}
+
+
+GType flagged_page_get_type (void) {
+ static volatile gsize flagged_page_type_id__volatile = 0;
+ if (g_once_init_enter (&flagged_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (FlaggedPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flagged_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlaggedPage), 0, (GInstanceInitFunc) flagged_page_instance_init, NULL };
+ GType flagged_page_type_id;
+ flagged_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "FlaggedPage", &g_define_type_info, 0);
+ g_once_init_leave (&flagged_page_type_id__volatile, flagged_page_type_id);
+ }
+ return flagged_page_type_id__volatile;
+}
+
+
+
diff --git a/src/library/FlaggedPage.vala b/src/library/FlaggedPage.vala
index f713773..6bf5416 100644
--- a/src/library/FlaggedPage.vala
+++ b/src/library/FlaggedPage.vala
@@ -22,7 +22,7 @@ public class FlaggedPage : CollectionPage {
private class FlaggedSearchViewFilter : CollectionPage.CollectionSearchViewFilter {
public override uint get_criteria() {
return SearchFilterCriteria.TEXT | SearchFilterCriteria.MEDIA |
- SearchFilterCriteria.RATING;
+ SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH;
}
}
diff --git a/src/library/FlaggedSidebarEntry.c b/src/library/FlaggedSidebarEntry.c
new file mode 100644
index 0000000..7eb90aa
--- /dev/null
+++ b/src/library/FlaggedSidebarEntry.c
@@ -0,0 +1,862 @@
+/* FlaggedSidebarEntry.c generated by valac 0.32.1, the Vala compiler
+ * generated from FlaggedSidebarEntry.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gee.h>
+#include <glib/gi18n-lib.h>
+
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
+#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+
+typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
+typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;
+typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate;
+
+#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ())
+#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry))
+#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY))
+#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface))
+
+typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry;
+typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY (library_flagged_sidebar_entry_get_type ())
+#define LIBRARY_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry))
+#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass))
+#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY))
+#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY))
+#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass))
+
+typedef struct _LibraryFlaggedSidebarEntry LibraryFlaggedSidebarEntry;
+typedef struct _LibraryFlaggedSidebarEntryClass LibraryFlaggedSidebarEntryClass;
+typedef struct _LibraryFlaggedSidebarEntryPrivate LibraryFlaggedSidebarEntryPrivate;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define TYPE_FLAGGED_PAGE (flagged_page_get_type ())
+#define FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGED_PAGE, FlaggedPage))
+#define FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAGGED_PAGE, FlaggedPageClass))
+#define IS_FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGED_PAGE))
+#define IS_FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAGGED_PAGE))
+#define FLAGGED_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAGGED_PAGE, FlaggedPageClass))
+
+typedef struct _FlaggedPage FlaggedPage;
+typedef struct _FlaggedPageClass FlaggedPageClass;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (multiple_data_source_at_once_command_get_type ())
+#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand))
+#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass))
+#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND))
+#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND))
+#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass))
+
+typedef struct _MultipleDataSourceAtOnceCommand MultipleDataSourceAtOnceCommand;
+typedef struct _MultipleDataSourceAtOnceCommandClass MultipleDataSourceAtOnceCommandClass;
+
+#define TYPE_FLAG_UNFLAG_COMMAND (flag_unflag_command_get_type ())
+#define FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand))
+#define FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass))
+#define IS_FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAG_UNFLAG_COMMAND))
+#define IS_FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAG_UNFLAG_COMMAND))
+#define FLAG_UNFLAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass))
+
+typedef struct _FlagUnflagCommand FlagUnflagCommand;
+typedef struct _FlagUnflagCommandClass FlagUnflagCommandClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _LibraryHideablePageEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryHideablePageEntryPrivate * priv;
+};
+
+struct _LibraryHideablePageEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _SidebarInternalDropTargetEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources);
+ gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data);
+};
+
+struct _LibraryFlaggedSidebarEntry {
+ LibraryHideablePageEntry parent_instance;
+ LibraryFlaggedSidebarEntryPrivate * priv;
+};
+
+struct _LibraryFlaggedSidebarEntryClass {
+ LibraryHideablePageEntryClass parent_class;
+};
+
+
+static gpointer library_flagged_sidebar_entry_parent_class = NULL;
+static SidebarInternalDropTargetEntryIface* library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = NULL;
+
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+GType sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST;
+GType library_flagged_sidebar_entry_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_FLAGGED_SIDEBAR_ENTRY_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+static void library_flagged_sidebar_entry_on_flagged_contents_altered (LibraryFlaggedSidebarEntry* self);
+static void _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered (MediaSourceCollection* _sender, gpointer self);
+LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void);
+LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type);
+LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type);
+static gint library_flagged_sidebar_entry_get_total_flagged (LibraryFlaggedSidebarEntry* self);
+void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value);
+static gchar* library_flagged_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define FLAGGED_PAGE_NAME _ ("Flagged")
+static gchar* library_flagged_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+#define RESOURCES_ICON_FLAGGED_PAGE "flag-page"
+static Page* library_flagged_sidebar_entry_real_create_page (SidebarSimplePageEntry* base);
+FlaggedPage* flagged_page_new (void);
+FlaggedPage* flagged_page_construct (GType object_type);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType flagged_page_get_type (void) G_GNUC_CONST;
+static gboolean library_flagged_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* app_window_get_command_manager (void);
+GType command_get_type (void) G_GNUC_CONST;
+void command_manager_execute (CommandManager* self, Command* command);
+FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag);
+FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag);
+GType page_command_get_type (void) G_GNUC_CONST;
+GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST;
+GType flag_unflag_command_get_type (void) G_GNUC_CONST;
+static gboolean library_flagged_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data);
+GeeCollection* media_source_collection_get_flagged (MediaSourceCollection* self);
+static void library_flagged_sidebar_entry_finalize (GObject* obj);
+
+
+static void _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered (MediaSourceCollection* _sender, gpointer self) {
+#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ library_flagged_sidebar_entry_on_flagged_contents_altered ((LibraryFlaggedSidebarEntry*) self);
+#line 443 "FlaggedSidebarEntry.c"
+}
+
+
+LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type) {
+ LibraryFlaggedSidebarEntry * self = NULL;
+ gint _tmp11_ = 0;
+#line 8 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = (LibraryFlaggedSidebarEntry*) library_hideable_page_entry_construct (object_type);
+#line 452 "FlaggedSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ while (TRUE) {
+#line 481 "FlaggedSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ break;
+#line 496 "FlaggedSidebarEntry.c"
+ }
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 10 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 10 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_signal_connect_object (_tmp10_, "flagged-contents-altered", (GCallback) _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered, self, 0);
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 510 "FlaggedSidebarEntry.c"
+ }
+#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 514 "FlaggedSidebarEntry.c"
+ }
+#line 12 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp11_ = library_flagged_sidebar_entry_get_total_flagged (self);
+#line 12 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp11_ != 0);
+#line 8 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return self;
+#line 522 "FlaggedSidebarEntry.c"
+}
+
+
+LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void) {
+#line 8 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return library_flagged_sidebar_entry_construct (LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY);
+#line 529 "FlaggedSidebarEntry.c"
+}
+
+
+static gchar* library_flagged_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ LibraryFlaggedSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 20 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry);
+#line 21 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = g_strdup (FLAGGED_PAGE_NAME);
+#line 21 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ result = _tmp0_;
+#line 21 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return result;
+#line 545 "FlaggedSidebarEntry.c"
+}
+
+
+static gchar* library_flagged_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ LibraryFlaggedSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 24 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry);
+#line 25 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = g_strdup (RESOURCES_ICON_FLAGGED_PAGE);
+#line 25 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ result = _tmp0_;
+#line 25 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return result;
+#line 561 "FlaggedSidebarEntry.c"
+}
+
+
+static Page* library_flagged_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) {
+ LibraryFlaggedSidebarEntry * self;
+ Page* result = NULL;
+ FlaggedPage* _tmp0_ = NULL;
+#line 28 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry);
+#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = flagged_page_new ();
+#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_object_ref_sink (_tmp0_);
+#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return result;
+#line 579 "FlaggedSidebarEntry.c"
+}
+
+
+static gboolean library_flagged_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) {
+ LibraryFlaggedSidebarEntry * self;
+ gboolean result = FALSE;
+ CommandManager* _tmp0_ = NULL;
+ CommandManager* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ FlagUnflagCommand* _tmp3_ = NULL;
+ FlagUnflagCommand* _tmp4_ = NULL;
+#line 32 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry);
+#line 32 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_return_val_if_fail (GEE_IS_LIST (media), FALSE);
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = app_window_get_command_manager ();
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp2_ = media;
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp3_ = flag_unflag_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), TRUE);
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp4_ = _tmp3_;
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ command_manager_execute (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_COMMAND, Command));
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_tmp4_);
+#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _command_manager_unref0 (_tmp1_);
+#line 35 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ result = TRUE;
+#line 35 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return result;
+#line 615 "FlaggedSidebarEntry.c"
+}
+
+
+static gboolean library_flagged_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) {
+ LibraryFlaggedSidebarEntry * self;
+ gboolean result = FALSE;
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry);
+#line 38 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_return_val_if_fail (data != NULL, FALSE);
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ result = FALSE;
+#line 39 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return result;
+#line 630 "FlaggedSidebarEntry.c"
+}
+
+
+static void library_flagged_sidebar_entry_on_flagged_contents_altered (LibraryFlaggedSidebarEntry* self) {
+ gint _tmp0_ = 0;
+#line 42 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY (self));
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = library_flagged_sidebar_entry_get_total_flagged (self);
+#line 43 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp0_ != 0);
+#line 642 "FlaggedSidebarEntry.c"
+}
+
+
+static gint library_flagged_sidebar_entry_get_total_flagged (LibraryFlaggedSidebarEntry* self) {
+ gint result = 0;
+ gint total = 0;
+#line 46 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_return_val_if_fail (LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY (self), 0);
+#line 47 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ total = 0;
+#line 653 "FlaggedSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ while (TRUE) {
+#line 682 "FlaggedSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ MediaSourceCollection* _tmp11_ = NULL;
+ GeeCollection* _tmp12_ = NULL;
+ GeeCollection* _tmp13_ = NULL;
+ gint _tmp14_ = 0;
+ gint _tmp15_ = 0;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ break;
+#line 702 "FlaggedSidebarEntry.c"
+ }
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp10_ = total;
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp11_ = media_sources;
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp12_ = media_source_collection_get_flagged (_tmp11_);
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp13_ = _tmp12_;
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp14_ = gee_collection_get_size (_tmp13_);
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp15_ = _tmp14_;
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ total = _tmp10_ + _tmp15_;
+#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_tmp13_);
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 728 "FlaggedSidebarEntry.c"
+ }
+#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 732 "FlaggedSidebarEntry.c"
+ }
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ result = total;
+#line 51 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ return result;
+#line 738 "FlaggedSidebarEntry.c"
+}
+
+
+static void library_flagged_sidebar_entry_class_init (LibraryFlaggedSidebarEntryClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ library_flagged_sidebar_entry_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_flagged_sidebar_entry_real_get_sidebar_name;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_flagged_sidebar_entry_real_get_sidebar_icon;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = library_flagged_sidebar_entry_real_create_page;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_flagged_sidebar_entry_finalize;
+#line 753 "FlaggedSidebarEntry.c"
+}
+
+
+static void library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) {
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) library_flagged_sidebar_entry_real_internal_drop_received;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) library_flagged_sidebar_entry_real_internal_drop_received_arbitrary;
+#line 764 "FlaggedSidebarEntry.c"
+}
+
+
+static void library_flagged_sidebar_entry_instance_init (LibraryFlaggedSidebarEntry * self) {
+}
+
+
+static void library_flagged_sidebar_entry_finalize (GObject* obj) {
+ LibraryFlaggedSidebarEntry * self;
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry);
+#line 776 "FlaggedSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ while (TRUE) {
+#line 805 "FlaggedSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+ guint _tmp11_ = 0U;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ break;
+#line 821 "FlaggedSidebarEntry.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_signal_parse_name ("flagged-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE);
+#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered, self);
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 837 "FlaggedSidebarEntry.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 841 "FlaggedSidebarEntry.c"
+ }
+#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala"
+ G_OBJECT_CLASS (library_flagged_sidebar_entry_parent_class)->finalize (obj);
+#line 845 "FlaggedSidebarEntry.c"
+}
+
+
+GType library_flagged_sidebar_entry_get_type (void) {
+ static volatile gsize library_flagged_sidebar_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_flagged_sidebar_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryFlaggedSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_flagged_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryFlaggedSidebarEntry), 0, (GInstanceInitFunc) library_flagged_sidebar_entry_instance_init, NULL };
+ static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ GType library_flagged_sidebar_entry_type_id;
+ library_flagged_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryFlaggedSidebarEntry", &g_define_type_info, 0);
+ g_type_add_interface_static (library_flagged_sidebar_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info);
+ g_once_init_leave (&library_flagged_sidebar_entry_type_id__volatile, library_flagged_sidebar_entry_type_id);
+ }
+ return library_flagged_sidebar_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/library/ImportQueuePage.c b/src/library/ImportQueuePage.c
new file mode 100644
index 0000000..2ba5e74
--- /dev/null
+++ b/src/library/ImportQueuePage.c
@@ -0,0 +1,1589 @@
+/* ImportQueuePage.c generated by valac 0.32.1, the Vala compiler
+ * generated from ImportQueuePage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <cairo.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <glib/gi18n-lib.h>
+#include <float.h>
+#include <math.h>
+#include <pango/pango.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ())
+#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage))
+#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
+#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE))
+#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE))
+#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
+
+typedef struct _SinglePhotoPage SinglePhotoPage;
+typedef struct _SinglePhotoPageClass SinglePhotoPageClass;
+typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate;
+
+#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ())
+#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer))
+#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass))
+#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER))
+#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER))
+#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass))
+
+typedef struct _ZoomBuffer ZoomBuffer;
+typedef struct _ZoomBufferClass ZoomBufferClass;
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+
+#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ())
+
+#define TYPE_IMPORT_QUEUE_PAGE (import_queue_page_get_type ())
+#define IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage))
+#define IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass))
+#define IS_IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_QUEUE_PAGE))
+#define IS_IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_QUEUE_PAGE))
+#define IMPORT_QUEUE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass))
+
+typedef struct _ImportQueuePage ImportQueuePage;
+typedef struct _ImportQueuePageClass ImportQueuePageClass;
+typedef struct _ImportQueuePagePrivate ImportQueuePagePrivate;
+
+#define TYPE_BATCH_IMPORT (batch_import_get_type ())
+#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
+#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
+#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
+#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
+#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))
+
+typedef struct _BatchImport BatchImport;
+typedef struct _BatchImportClass BatchImportClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
+#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
+#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
+#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
+#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
+#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))
+
+typedef struct _ImportManifest ImportManifest;
+typedef struct _ImportManifestClass ImportManifestClass;
+
+#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
+#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
+#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
+#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
+#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
+#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
+
+typedef struct _BatchImportRoll BatchImportRoll;
+typedef struct _BatchImportRollClass BatchImportRollClass;
+
+#define TYPE_IMPORT_RESULT (import_result_get_type ())
+
+#define TYPE_APP_WINDOW (app_window_get_type ())
+#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
+#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
+#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
+#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
+#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))
+
+typedef struct _AppWindow AppWindow;
+typedef struct _AppWindowClass AppWindowClass;
+
+#define TYPE_DIRECTION (direction_get_type ())
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
+#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
+#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
+#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
+#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+
+typedef struct _PhotoSource PhotoSource;
+typedef struct _PhotoSourceClass PhotoSourceClass;
+
+#define TYPE_PHOTO (photo_get_type ())
+#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
+#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
+#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
+#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
+#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))
+
+typedef struct _Photo Photo;
+typedef struct _PhotoClass PhotoClass;
+
+#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
+#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
+#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
+#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
+#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+
+typedef struct _LibraryPhoto LibraryPhoto;
+typedef struct _LibraryPhotoClass LibraryPhotoClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_PHOTO_VIEW (photo_view_get_type ())
+#define PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_VIEW, PhotoView))
+#define PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_VIEW, PhotoViewClass))
+#define IS_PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_VIEW))
+#define IS_PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_VIEW))
+#define PHOTO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_VIEW, PhotoViewClass))
+
+typedef struct _PhotoView PhotoView;
+typedef struct _PhotoViewClass PhotoViewClass;
+
+#define TYPE_VIDEO_SOURCE (video_source_get_type ())
+#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource))
+#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass))
+#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE))
+#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE))
+#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass))
+
+typedef struct _VideoSource VideoSource;
+typedef struct _VideoSourceClass VideoSourceClass;
+
+#define TYPE_VIDEO (video_get_type ())
+#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video))
+#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass))
+#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO))
+#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO))
+#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass))
+
+typedef struct _Video Video;
+typedef struct _VideoClass VideoClass;
+
+#define TYPE_VIDEO_VIEW (video_view_get_type ())
+#define VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_VIEW, VideoView))
+#define VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_VIEW, VideoViewClass))
+#define IS_VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_VIEW))
+#define IS_VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_VIEW))
+#define VIDEO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_VIEW, VideoViewClass))
+
+typedef struct _VideoView VideoView;
+typedef struct _VideoViewClass VideoViewClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+struct _Dimensions {
+ gint width;
+ gint height;
+};
+
+typedef enum {
+ SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF,
+ SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT,
+ SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS
+} SinglePhotoPageUpdateReason;
+
+struct _SinglePhotoPage {
+ Page parent_instance;
+ SinglePhotoPagePrivate * priv;
+ GtkDrawingArea* canvas;
+ GtkViewport* viewport;
+};
+
+struct _SinglePhotoPageClass {
+ PageClass parent_class;
+ gboolean (*is_zoom_supported) (SinglePhotoPage* self);
+ void (*cancel_zoom) (SinglePhotoPage* self);
+ void (*save_zoom_state) (SinglePhotoPage* self);
+ void (*restore_zoom_state) (SinglePhotoPage* self);
+ ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self);
+ void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
+ void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim);
+ void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
+ void (*on_previous_photo) (SinglePhotoPage* self);
+ void (*on_next_photo) (SinglePhotoPage* self);
+};
+
+struct _ImportQueuePage {
+ SinglePhotoPage parent_instance;
+ ImportQueuePagePrivate * priv;
+};
+
+struct _ImportQueuePageClass {
+ SinglePhotoPageClass parent_class;
+};
+
+struct _ImportQueuePagePrivate {
+ GeeArrayList* queue;
+ GeeHashSet* cancel_unallowed;
+ BatchImport* current_batch;
+ GtkProgressBar* progress_bar;
+ gboolean stopped;
+};
+
+typedef enum {
+ IMPORT_RESULT_SUCCESS,
+ IMPORT_RESULT_FILE_ERROR,
+ IMPORT_RESULT_DECODE_ERROR,
+ IMPORT_RESULT_DATABASE_ERROR,
+ IMPORT_RESULT_USER_ABORT,
+ IMPORT_RESULT_NOT_A_FILE,
+ IMPORT_RESULT_PHOTO_EXISTS,
+ IMPORT_RESULT_UNSUPPORTED_FORMAT,
+ IMPORT_RESULT_NOT_AN_IMAGE,
+ IMPORT_RESULT_DISK_FAILURE,
+ IMPORT_RESULT_DISK_FULL,
+ IMPORT_RESULT_CAMERA_ERROR,
+ IMPORT_RESULT_FILE_WRITE_ERROR,
+ IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE
+} ImportResult;
+
+typedef enum {
+ DIRECTION_FORWARD,
+ DIRECTION_BACKWARD
+} Direction;
+
+
+static gpointer import_queue_page_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType single_photo_page_get_type (void) G_GNUC_CONST;
+GType zoom_buffer_get_type (void) G_GNUC_CONST;
+GType dimensions_get_type (void) G_GNUC_CONST;
+Dimensions* dimensions_dup (const Dimensions* self);
+void dimensions_free (Dimensions* self);
+GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST;
+GType import_queue_page_get_type (void) G_GNUC_CONST;
+GType batch_import_get_type (void) G_GNUC_CONST;
+#define IMPORT_QUEUE_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePagePrivate))
+enum {
+ IMPORT_QUEUE_PAGE_DUMMY_PROPERTY
+};
+#define IMPORT_QUEUE_PAGE_NAME _ ("Importing...")
+ImportQueuePage* import_queue_page_new (void);
+ImportQueuePage* import_queue_page_construct (GType object_type);
+SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport);
+GtkToolbar* page_get_toolbar (Page* self);
+GtkAction* page_get_action (Page* self, const gchar* name);
+static void import_queue_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
+static GtkActionEntry* import_queue_page_real_init_collect_action_entries (Page* base, int* result_length1);
+GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
+#define RESOURCES_STOP_LABEL _ ("_Stop")
+#define TRANSLATABLE "translatable"
+static void import_queue_page_on_stop (ImportQueuePage* self);
+static void _import_queue_page_on_stop_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add87 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+void import_queue_page_enqueue_and_schedule (ImportQueuePage* self, BatchImport* batch_import, gboolean allow_user_cancel);
+static void import_queue_page_on_starting (ImportQueuePage* self, BatchImport* batch_import);
+static void _import_queue_page_on_starting_batch_import_starting (BatchImport* _sender, gpointer self);
+static void import_queue_page_on_preparing (ImportQueuePage* self);
+static void _import_queue_page_on_preparing_batch_import_preparing (BatchImport* _sender, gpointer self);
+static void import_queue_page_on_progress (ImportQueuePage* self, guint64 completed_bytes, guint64 total_bytes);
+static void _import_queue_page_on_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self);
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+static void import_queue_page_on_imported (ImportQueuePage* self, ThumbnailSource* source, GdkPixbuf* pixbuf, gint to_follow);
+GType media_source_get_type (void) G_GNUC_CONST;
+static void _import_queue_page_on_imported_batch_import_imported (BatchImport* _sender, MediaSource* source, GdkPixbuf* pixbuf, gint to_follow, gpointer self);
+gpointer import_manifest_ref (gpointer instance);
+void import_manifest_unref (gpointer instance);
+GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_import_manifest (GValue* value, gpointer v_object);
+void value_take_import_manifest (GValue* value, gpointer v_object);
+gpointer value_get_import_manifest (const GValue* value);
+GType import_manifest_get_type (void) G_GNUC_CONST;
+gpointer batch_import_roll_ref (gpointer instance);
+void batch_import_roll_unref (gpointer instance);
+GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_batch_import_roll (GValue* value, gpointer v_object);
+void value_take_batch_import_roll (GValue* value, gpointer v_object);
+gpointer value_get_batch_import_roll (const GValue* value);
+GType batch_import_roll_get_type (void) G_GNUC_CONST;
+static void import_queue_page_on_import_complete (ImportQueuePage* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll);
+static void _import_queue_page_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self);
+GType import_result_get_type (void) G_GNUC_CONST;
+static void import_queue_page_on_fatal_error (ImportQueuePage* self, ImportResult _result_, const gchar* message);
+static void _import_queue_page_on_fatal_error_batch_import_fatal_error (BatchImport* _sender, ImportResult _result_, const gchar* message, gpointer self);
+void batch_import_schedule (BatchImport* self);
+static void import_queue_page_update_stop_action (ImportQueuePage* self);
+gint import_queue_page_get_batch_count (ImportQueuePage* self);
+void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive);
+GType app_window_get_type (void) G_GNUC_CONST;
+AppWindow* app_window_get_instance (void);
+void page_window_set_busy_cursor (PageWindow* self);
+void batch_import_user_halt (BatchImport* self);
+gboolean page_is_in_view (Page* self);
+GType direction_get_type (void) G_GNUC_CONST;
+void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction);
+void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+void data_collection_clear (DataCollection* self);
+GType photo_source_get_type (void) G_GNUC_CONST;
+GType photo_get_type (void) G_GNUC_CONST;
+GType library_photo_get_type (void) G_GNUC_CONST;
+gboolean data_collection_add (DataCollection* self, DataObject* object);
+PhotoView* photo_view_new (PhotoSource* source);
+PhotoView* photo_view_construct (GType object_type, PhotoSource* source);
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType photo_view_get_type (void) G_GNUC_CONST;
+GType video_source_get_type (void) G_GNUC_CONST;
+GType video_get_type (void) G_GNUC_CONST;
+VideoView* video_view_new (VideoSource* source);
+VideoView* video_view_construct (GType object_type, VideoSource* source);
+GType video_view_get_type (void) G_GNUC_CONST;
+gchar* data_object_get_name (DataObject* self);
+void single_photo_page_blank_display (SinglePhotoPage* self);
+void page_window_set_normal_cursor (PageWindow* self);
+void app_window_error_message (const gchar* message, GtkWindow* parent);
+static void import_queue_page_finalize (GObject* obj);
+
+
+ImportQueuePage* import_queue_page_construct (GType object_type) {
+ ImportQueuePage * self = NULL;
+ GtkToolbar* toolbar = NULL;
+ GtkToolbar* _tmp0_ = NULL;
+ GtkToolButton* stop_button = NULL;
+ GtkToolButton* _tmp1_ = NULL;
+ GtkAction* _tmp2_ = NULL;
+ GtkAction* _tmp3_ = NULL;
+ GtkSeparatorToolItem* separator = NULL;
+ GtkSeparatorToolItem* _tmp4_ = NULL;
+ GtkToolItem* progress_item = NULL;
+ GtkToolItem* _tmp5_ = NULL;
+ GtkProgressBar* _tmp6_ = NULL;
+ GtkProgressBar* _tmp7_ = NULL;
+#line 25 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self = (ImportQueuePage*) single_photo_page_construct (object_type, IMPORT_QUEUE_PAGE_NAME, FALSE);
+#line 28 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 28 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ toolbar = _tmp0_;
+#line 31 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL);
+#line 31 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_object_ref_sink (_tmp1_);
+#line 31 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ stop_button = _tmp1_;
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_tool_button_set_icon_name (stop_button, "stop");
+#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Stop");
+#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = _tmp2_;
+#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (stop_button, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp3_);
+#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp3_);
+#line 35 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (stop_button, gtk_tool_item_get_type (), GtkToolItem), -1);
+#line 38 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
+#line 38 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_object_ref_sink (_tmp4_);
+#line 38 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ separator = _tmp4_;
+#line 39 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_separator_tool_item_set_draw (separator, FALSE);
+#line 41 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (separator, gtk_tool_item_get_type (), GtkToolItem), -1);
+#line 44 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = gtk_tool_item_new ();
+#line 44 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_object_ref_sink (_tmp5_);
+#line 44 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ progress_item = _tmp5_;
+#line 45 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_tool_item_set_expand (progress_item, TRUE);
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = self->priv->progress_bar;
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (progress_item, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
+#line 47 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7_ = self->priv->progress_bar;
+#line 47 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_show_text (_tmp7_, TRUE);
+#line 49 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_toolbar_insert (toolbar, progress_item, -1);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (progress_item);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (separator);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (stop_button);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (toolbar);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return self;
+#line 632 "ImportQueuePage.c"
+}
+
+
+ImportQueuePage* import_queue_page_new (void) {
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return import_queue_page_construct (TYPE_IMPORT_QUEUE_PAGE);
+#line 639 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ ImportQueuePage * self;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+#line 56 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage);
+#line 56 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 57 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = ui_filenames;
+#line 57 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "import_queue.ui");
+#line 59 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = ui_filenames;
+#line 59 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ PAGE_CLASS (import_queue_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp1_);
+#line 659 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_stop_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_stop ((ImportQueuePage*) self);
+#line 666 "ImportQueuePage.c"
+}
+
+
+static void _vala_array_add87 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if ((*length) == (*size)) {
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 677 "ImportQueuePage.c"
+ }
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ (*array)[(*length)++] = *value;
+#line 681 "ImportQueuePage.c"
+}
+
+
+static GtkActionEntry* import_queue_page_real_init_collect_action_entries (Page* base, int* result_length1) {
+ ImportQueuePage * self;
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* actions = NULL;
+ gint _tmp0_ = 0;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry stop = {0};
+ GtkActionEntry _tmp2_ = {0};
+ const gchar* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkActionEntry* _tmp5_ = NULL;
+ gint _tmp5__length1 = 0;
+ GtkActionEntry _tmp6_ = {0};
+ GtkActionEntry* _tmp7_ = NULL;
+ gint _tmp7__length1 = 0;
+#line 62 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage);
+#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = PAGE_CLASS (import_queue_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp0_);
+#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ actions = _tmp1_;
+#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ actions_length1 = _tmp0_;
+#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _actions_size_ = actions_length1;
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_.name = "Stop";
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_.stock_id = RESOURCES_STOP_LABEL;
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_.accelerator = NULL;
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_.tooltip = TRANSLATABLE;
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_.callback = (GCallback) _import_queue_page_on_stop_gtk_action_callback;
+#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ stop = _tmp2_;
+#line 67 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = _ ("_Stop Import");
+#line 67 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ stop.label = _tmp3_;
+#line 68 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = _ ("Stop importing photos");
+#line 68 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ stop.tooltip = _tmp4_;
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = actions;
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5__length1 = actions_length1;
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = stop;
+#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _vala_array_add87 (&actions, &actions_length1, &_actions_size_, &_tmp6_);
+#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7_ = actions;
+#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7__length1 = actions_length1;
+#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (result_length1) {
+#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ *result_length1 = _tmp7__length1;
+#line 750 "ImportQueuePage.c"
+ }
+#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ result = _tmp7_;
+#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return result;
+#line 756 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_starting_batch_import_starting (BatchImport* _sender, gpointer self) {
+#line 77 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_starting ((ImportQueuePage*) self, _sender);
+#line 763 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_preparing_batch_import_preparing (BatchImport* _sender, gpointer self) {
+#line 78 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_preparing ((ImportQueuePage*) self);
+#line 770 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self) {
+#line 79 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_progress ((ImportQueuePage*) self, completed_bytes, total_bytes);
+#line 777 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_imported_batch_import_imported (BatchImport* _sender, MediaSource* source, GdkPixbuf* pixbuf, gint to_follow, gpointer self) {
+#line 80 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_imported ((ImportQueuePage*) self, source, pixbuf, to_follow);
+#line 784 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) {
+#line 81 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_import_complete ((ImportQueuePage*) self, _sender, manifest, import_roll);
+#line 791 "ImportQueuePage.c"
+}
+
+
+static void _import_queue_page_on_fatal_error_batch_import_fatal_error (BatchImport* _sender, ImportResult _result_, const gchar* message, gpointer self) {
+#line 82 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_on_fatal_error ((ImportQueuePage*) self, _result_, message);
+#line 798 "ImportQueuePage.c"
+}
+
+
+void import_queue_page_enqueue_and_schedule (ImportQueuePage* self, BatchImport* batch_import, gboolean allow_user_cancel) {
+ GeeArrayList* _tmp0_ = NULL;
+ BatchImport* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ BatchImport* _tmp3_ = NULL;
+ BatchImport* _tmp4_ = NULL;
+ BatchImport* _tmp5_ = NULL;
+ BatchImport* _tmp6_ = NULL;
+ BatchImport* _tmp7_ = NULL;
+ BatchImport* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ GeeArrayList* _tmp12_ = NULL;
+ BatchImport* _tmp13_ = NULL;
+ BatchImport* _tmp14_ = NULL;
+ GeeArrayList* _tmp15_ = NULL;
+ gint _tmp16_ = 0;
+ gint _tmp17_ = 0;
+#line 74 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 74 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_BATCH_IMPORT (batch_import));
+#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = self->priv->queue;
+#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = batch_import;
+#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_);
+#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _vala_assert (!_tmp2_, "!queue.contains(batch_import)");
+#line 77 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = batch_import;
+#line 77 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_connect_object (_tmp3_, "starting", (GCallback) _import_queue_page_on_starting_batch_import_starting, self, 0);
+#line 78 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = batch_import;
+#line 78 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_connect_object (_tmp4_, "preparing", (GCallback) _import_queue_page_on_preparing_batch_import_preparing, self, 0);
+#line 79 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = batch_import;
+#line 79 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_connect_object (_tmp5_, "progress", (GCallback) _import_queue_page_on_progress_batch_import_progress, self, 0);
+#line 80 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = batch_import;
+#line 80 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_connect_object (_tmp6_, "imported", (GCallback) _import_queue_page_on_imported_batch_import_imported, self, 0);
+#line 81 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7_ = batch_import;
+#line 81 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_connect_object (_tmp7_, "import-complete", (GCallback) _import_queue_page_on_import_complete_batch_import_import_complete, self, 0);
+#line 82 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp8_ = batch_import;
+#line 82 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_connect_object (_tmp8_, "fatal-error", (GCallback) _import_queue_page_on_fatal_error_batch_import_fatal_error, self, 0);
+#line 84 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp9_ = allow_user_cancel;
+#line 84 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (!_tmp9_) {
+#line 859 "ImportQueuePage.c"
+ GeeHashSet* _tmp10_ = NULL;
+ BatchImport* _tmp11_ = NULL;
+#line 85 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp10_ = self->priv->cancel_unallowed;
+#line 85 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp11_ = batch_import;
+#line 85 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_);
+#line 868 "ImportQueuePage.c"
+ }
+#line 87 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp12_ = self->priv->queue;
+#line 87 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp13_ = batch_import;
+#line 87 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_);
+#line 88 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp14_ = batch_import;
+#line 88 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_emit_by_name (self, "batch-added", _tmp14_);
+#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp15_ = self->priv->queue;
+#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp17_ = _tmp16_;
+#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp17_ == 1) {
+#line 888 "ImportQueuePage.c"
+ BatchImport* _tmp18_ = NULL;
+#line 91 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp18_ = batch_import;
+#line 91 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ batch_import_schedule (_tmp18_);
+#line 894 "ImportQueuePage.c"
+ }
+#line 93 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_update_stop_action (self);
+#line 898 "ImportQueuePage.c"
+}
+
+
+gint import_queue_page_get_batch_count (ImportQueuePage* self) {
+ gint result = 0;
+ GeeArrayList* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 96 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_val_if_fail (IS_IMPORT_QUEUE_PAGE (self), 0);
+#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = self->priv->queue;
+#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = _tmp1_;
+#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ result = _tmp2_;
+#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return result;
+#line 919 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_update_stop_action (ImportQueuePage* self) {
+ gboolean _tmp0_ = FALSE;
+ GeeHashSet* _tmp1_ = NULL;
+ BatchImport* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 100 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = self->priv->cancel_unallowed;
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = self->priv->current_batch;
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_);
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (!_tmp3_) {
+#line 938 "ImportQueuePage.c"
+ GeeArrayList* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = self->priv->queue;
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = _tmp5_;
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = _tmp6_ > 0;
+#line 950 "ImportQueuePage.c"
+ } else {
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = FALSE;
+#line 954 "ImportQueuePage.c"
+ }
+#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Stop", _tmp0_);
+#line 958 "ImportQueuePage.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 965 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_on_stop (ImportQueuePage* self) {
+ GeeArrayList* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ AppWindow* _tmp3_ = NULL;
+ AppWindow* _tmp4_ = NULL;
+#line 104 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 105 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_update_stop_action (self);
+#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = self->priv->queue;
+#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = _tmp1_;
+#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp2_ == 0) {
+#line 108 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return;
+#line 989 "ImportQueuePage.c"
+ }
+#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = app_window_get_instance ();
+#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = _tmp3_;
+#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PAGE_WINDOW, PageWindow));
+#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp4_);
+#line 111 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->stopped = TRUE;
+#line 1001 "ImportQueuePage.c"
+ {
+ GeeArrayList* _batch_import_list = NULL;
+ GeeArrayList* _tmp5_ = NULL;
+ GeeArrayList* _tmp6_ = NULL;
+ gint _batch_import_size = 0;
+ GeeArrayList* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ gint _batch_import_index = 0;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = self->priv->queue;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = _g_object_ref0 (_tmp5_);
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _batch_import_list = _tmp6_;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7_ = _batch_import_list;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp9_ = _tmp8_;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _batch_import_size = _tmp9_;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _batch_import_index = -1;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ while (TRUE) {
+#line 1029 "ImportQueuePage.c"
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ gint _tmp12_ = 0;
+ BatchImport* batch_import = NULL;
+ GeeArrayList* _tmp13_ = NULL;
+ gint _tmp14_ = 0;
+ gpointer _tmp15_ = NULL;
+ BatchImport* _tmp16_ = NULL;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp10_ = _batch_import_index;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _batch_import_index = _tmp10_ + 1;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp11_ = _batch_import_index;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp12_ = _batch_import_size;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (!(_tmp11_ < _tmp12_)) {
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ break;
+#line 1050 "ImportQueuePage.c"
+ }
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp13_ = _batch_import_list;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp14_ = _batch_import_index;
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp15_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp14_);
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ batch_import = (BatchImport*) _tmp15_;
+#line 115 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp16_ = batch_import;
+#line 115 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ batch_import_user_halt (_tmp16_);
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (batch_import);
+#line 1066 "ImportQueuePage.c"
+ }
+#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_batch_import_list);
+#line 1070 "ImportQueuePage.c"
+ }
+}
+
+
+static void import_queue_page_on_starting (ImportQueuePage* self, BatchImport* batch_import) {
+ BatchImport* _tmp0_ = NULL;
+ BatchImport* _tmp1_ = NULL;
+#line 118 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 118 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_BATCH_IMPORT (batch_import));
+#line 119 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_update_stop_action (self);
+#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = batch_import;
+#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (self->priv->current_batch);
+#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->current_batch = _tmp1_;
+#line 1092 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_on_preparing (ImportQueuePage* self) {
+ GtkProgressBar* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ GtkProgressBar* _tmp2_ = NULL;
+#line 123 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 124 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = self->priv->progress_bar;
+#line 124 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = _ ("Preparing to import...");
+#line 124 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_text (_tmp0_, _tmp1_);
+#line 125 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = self->priv->progress_bar;
+#line 125 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_pulse (_tmp2_);
+#line 1112 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_on_progress (ImportQueuePage* self, guint64 completed_bytes, guint64 total_bytes) {
+ gdouble _tmp0_ = 0.0;
+ guint64 _tmp1_ = 0ULL;
+ guint64 _tmp2_ = 0ULL;
+ gdouble pct = 0.0;
+ GtkProgressBar* _tmp5_ = NULL;
+#line 128 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = completed_bytes;
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = total_bytes;
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp1_ <= _tmp2_) {
+#line 1130 "ImportQueuePage.c"
+ guint64 _tmp3_ = 0ULL;
+ guint64 _tmp4_ = 0ULL;
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = completed_bytes;
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = total_bytes;
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = ((gdouble) _tmp3_) / ((gdouble) _tmp4_);
+#line 1139 "ImportQueuePage.c"
+ } else {
+#line 130 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = 0.0;
+#line 1143 "ImportQueuePage.c"
+ }
+#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ pct = _tmp0_;
+#line 131 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = self->priv->progress_bar;
+#line 131 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_fraction (_tmp5_, pct);
+#line 1151 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_on_imported (ImportQueuePage* self, ThumbnailSource* source, GdkPixbuf* pixbuf, gint to_follow) {
+ gboolean _tmp0_ = FALSE;
+ gint _tmp1_ = 0;
+ GdkPixbuf* _tmp3_ = NULL;
+ GdkPixbuf* _tmp4_ = NULL;
+ Dimensions _tmp5_ = {0};
+ ViewCollection* _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+ ThumbnailSource* _tmp9_ = NULL;
+ GtkProgressBar* _tmp22_ = NULL;
+ GtkProgressBar* _tmp23_ = NULL;
+ const gchar* _tmp24_ = NULL;
+ ThumbnailSource* _tmp25_ = NULL;
+ gchar* _tmp26_ = NULL;
+ gchar* _tmp27_ = NULL;
+ gchar* _tmp28_ = NULL;
+ gchar* _tmp29_ = NULL;
+#line 138 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 138 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_THUMBNAIL_SOURCE (source));
+#line 138 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
+#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = to_follow;
+#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp1_ > 0) {
+#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = TRUE;
+#line 1185 "ImportQueuePage.c"
+ } else {
+ gboolean _tmp2_ = FALSE;
+#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = page_is_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = !_tmp2_;
+#line 1192 "ImportQueuePage.c"
+ }
+#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp0_) {
+#line 141 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ return;
+#line 1198 "ImportQueuePage.c"
+ }
+#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = pixbuf;
+#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = pixbuf;
+#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ dimensions_for_pixbuf (_tmp4_, &_tmp5_);
+#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp3_, &_tmp5_, NULL);
+#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7_ = _tmp6_;
+#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection));
+#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _data_collection_unref0 (_tmp7_);
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp9_ = source;
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_LIBRARY_PHOTO)) {
+#line 1220 "ImportQueuePage.c"
+ ViewCollection* _tmp10_ = NULL;
+ ViewCollection* _tmp11_ = NULL;
+ ThumbnailSource* _tmp12_ = NULL;
+ PhotoView* _tmp13_ = NULL;
+ PhotoView* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp11_ = _tmp10_;
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp12_ = source;
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp13_ = photo_view_new (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp12_) : NULL, TYPE_PHOTO_SOURCE, PhotoSource));
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp14_ = _tmp13_;
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp15_ = data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject));
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp8_ = _tmp15_;
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp14_);
+#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _data_collection_unref0 (_tmp11_);
+#line 1245 "ImportQueuePage.c"
+ } else {
+ ViewCollection* _tmp16_ = NULL;
+ ViewCollection* _tmp17_ = NULL;
+ ThumbnailSource* _tmp18_ = NULL;
+ VideoView* _tmp19_ = NULL;
+ VideoView* _tmp20_ = NULL;
+ gboolean _tmp21_ = FALSE;
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp17_ = _tmp16_;
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp18_ = source;
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp19_ = video_view_new (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_VIDEO) ? ((Video*) _tmp18_) : NULL, TYPE_VIDEO_SOURCE, VideoSource));
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp20_ = _tmp19_;
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp21_ = data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject));
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp8_ = _tmp21_;
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp20_);
+#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _data_collection_unref0 (_tmp17_);
+#line 1271 "ImportQueuePage.c"
+ }
+#line 150 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp22_ = self->priv->progress_bar;
+#line 150 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_ellipsize (_tmp22_, PANGO_ELLIPSIZE_MIDDLE);
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp23_ = self->priv->progress_bar;
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp24_ = _ ("Imported %s");
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp25_ = source;
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject));
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp27_ = _tmp26_;
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp28_ = g_strdup_printf (_tmp24_, _tmp27_);
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp29_ = _tmp28_;
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_text (_tmp23_, _tmp29_);
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_free0 (_tmp29_);
+#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_free0 (_tmp27_);
+#line 1297 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_on_import_complete (ImportQueuePage* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll) {
+ BatchImport* _tmp0_ = NULL;
+ BatchImport* _tmp1_ = NULL;
+ GeeArrayList* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ GeeArrayList* _tmp5_ = NULL;
+ gpointer _tmp6_ = NULL;
+ BatchImport* _tmp7_ = NULL;
+ BatchImport* _tmp8_ = NULL;
+ gboolean removed = FALSE;
+ GeeArrayList* _tmp9_ = NULL;
+ BatchImport* _tmp10_ = NULL;
+ gboolean _tmp11_ = FALSE;
+ gboolean _tmp12_ = FALSE;
+ GeeHashSet* _tmp13_ = NULL;
+ BatchImport* _tmp14_ = NULL;
+ BatchImport* _tmp15_ = NULL;
+ guint _tmp16_ = 0U;
+ BatchImport* _tmp17_ = NULL;
+ guint _tmp18_ = 0U;
+ BatchImport* _tmp19_ = NULL;
+ guint _tmp20_ = 0U;
+ BatchImport* _tmp21_ = NULL;
+ guint _tmp22_ = 0U;
+ BatchImport* _tmp23_ = NULL;
+ guint _tmp24_ = 0U;
+ BatchImport* _tmp25_ = NULL;
+ guint _tmp26_ = 0U;
+ GeeArrayList* _tmp27_ = NULL;
+ gint _tmp28_ = 0;
+ gint _tmp29_ = 0;
+ BatchImport* _tmp39_ = NULL;
+#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_BATCH_IMPORT (batch_import));
+#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_MANIFEST (manifest));
+#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll));
+#line 156 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = batch_import;
+#line 156 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = self->priv->current_batch;
+#line 156 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _vala_assert (_tmp0_ == _tmp1_, "batch_import == current_batch");
+#line 157 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (self->priv->current_batch);
+#line 157 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->current_batch = NULL;
+#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = self->priv->queue;
+#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp4_ = _tmp3_;
+#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _vala_assert (_tmp4_ > 0, "queue.size > 0");
+#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp5_ = self->priv->queue;
+#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp7_ = (BatchImport*) _tmp6_;
+#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp8_ = batch_import;
+#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _vala_assert (_tmp7_ == _tmp8_, "queue.get(0) == batch_import");
+#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp7_);
+#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp9_ = self->priv->queue;
+#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp10_ = batch_import;
+#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp11_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_);
+#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ removed = _tmp11_;
+#line 163 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp12_ = removed;
+#line 163 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _vala_assert (_tmp12_, "removed");
+#line 166 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp13_ = self->priv->cancel_unallowed;
+#line 166 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp14_ = batch_import;
+#line 166 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_);
+#line 169 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp15_ = batch_import;
+#line 169 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_parse_name ("starting", TYPE_BATCH_IMPORT, &_tmp16_, NULL, FALSE);
+#line 169 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_handlers_disconnect_matched (_tmp15_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _import_queue_page_on_starting_batch_import_starting, self);
+#line 170 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp17_ = batch_import;
+#line 170 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_parse_name ("preparing", TYPE_BATCH_IMPORT, &_tmp18_, NULL, FALSE);
+#line 170 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _import_queue_page_on_preparing_batch_import_preparing, self);
+#line 171 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp19_ = batch_import;
+#line 171 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_parse_name ("progress", TYPE_BATCH_IMPORT, &_tmp20_, NULL, FALSE);
+#line 171 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_handlers_disconnect_matched (_tmp19_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _import_queue_page_on_progress_batch_import_progress, self);
+#line 172 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp21_ = batch_import;
+#line 172 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_parse_name ("imported", TYPE_BATCH_IMPORT, &_tmp22_, NULL, FALSE);
+#line 172 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_handlers_disconnect_matched (_tmp21_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp22_, 0, NULL, (GCallback) _import_queue_page_on_imported_batch_import_imported, self);
+#line 173 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp23_ = batch_import;
+#line 173 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_parse_name ("import-complete", TYPE_BATCH_IMPORT, &_tmp24_, NULL, FALSE);
+#line 173 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_handlers_disconnect_matched (_tmp23_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp24_, 0, NULL, (GCallback) _import_queue_page_on_import_complete_batch_import_import_complete, self);
+#line 174 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp25_ = batch_import;
+#line 174 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_parse_name ("fatal-error", TYPE_BATCH_IMPORT, &_tmp26_, NULL, FALSE);
+#line 174 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_handlers_disconnect_matched (_tmp25_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _import_queue_page_on_fatal_error_batch_import_fatal_error, self);
+#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp27_ = self->priv->queue;
+#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp28_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp29_ = _tmp28_;
+#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp29_ > 0) {
+#line 1434 "ImportQueuePage.c"
+ GeeArrayList* _tmp30_ = NULL;
+ gpointer _tmp31_ = NULL;
+ BatchImport* _tmp32_ = NULL;
+#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp30_ = self->priv->queue;
+#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp31_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp32_ = (BatchImport*) _tmp31_;
+#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ batch_import_schedule (_tmp32_);
+#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp32_);
+#line 1448 "ImportQueuePage.c"
+ } else {
+ GtkProgressBar* _tmp33_ = NULL;
+ GtkProgressBar* _tmp34_ = NULL;
+ GtkProgressBar* _tmp35_ = NULL;
+ gboolean _tmp36_ = FALSE;
+#line 181 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp33_ = self->priv->progress_bar;
+#line 181 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_ellipsize (_tmp33_, PANGO_ELLIPSIZE_NONE);
+#line 182 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp34_ = self->priv->progress_bar;
+#line 182 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_text (_tmp34_, "");
+#line 183 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp35_ = self->priv->progress_bar;
+#line 183 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ gtk_progress_bar_set_fraction (_tmp35_, 0.0);
+#line 190 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ single_photo_page_blank_display (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
+#line 193 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp36_ = self->priv->stopped;
+#line 193 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ if (_tmp36_) {
+#line 1472 "ImportQueuePage.c"
+ AppWindow* _tmp37_ = NULL;
+ AppWindow* _tmp38_ = NULL;
+#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp37_ = app_window_get_instance ();
+#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp38_ = _tmp37_;
+#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PAGE_WINDOW, PageWindow));
+#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (_tmp38_);
+#line 1483 "ImportQueuePage.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->stopped = FALSE;
+#line 1487 "ImportQueuePage.c"
+ }
+#line 199 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_update_stop_action (self);
+#line 202 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp39_ = batch_import;
+#line 202 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_emit_by_name (self, "batch-removed", _tmp39_);
+#line 1495 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_on_fatal_error (ImportQueuePage* self, ImportResult _result_, const gchar* message) {
+ const gchar* _tmp0_ = NULL;
+#line 205 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self));
+#line 205 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_return_if_fail (message != NULL);
+#line 206 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = message;
+#line 206 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ app_window_error_message (_tmp0_, NULL);
+#line 1509 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_class_init (ImportQueuePageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ import_queue_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_type_class_add_private (klass, sizeof (ImportQueuePagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = import_queue_page_real_init_collect_ui_filenames;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ ((PageClass *) klass)->init_collect_action_entries = import_queue_page_real_init_collect_action_entries;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ G_OBJECT_CLASS (klass)->finalize = import_queue_page_finalize;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_new ("batch_added", TYPE_IMPORT_QUEUE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_BATCH_IMPORT);
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_signal_new ("batch_removed", TYPE_IMPORT_QUEUE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_BATCH_IMPORT);
+#line 1528 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_instance_init (ImportQueuePage * self) {
+ GeeArrayList* _tmp0_ = NULL;
+ GeeHashSet* _tmp1_ = NULL;
+ GtkProgressBar* _tmp2_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv = IMPORT_QUEUE_PAGE_GET_PRIVATE (self);
+#line 10 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp0_ = gee_array_list_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 10 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->queue = _tmp0_;
+#line 11 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp1_ = gee_hash_set_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 11 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->cancel_unallowed = _tmp1_;
+#line 12 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->current_batch = NULL;
+#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _tmp2_ = (GtkProgressBar*) gtk_progress_bar_new ();
+#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ g_object_ref_sink (_tmp2_);
+#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->progress_bar = _tmp2_;
+#line 14 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self->priv->stopped = FALSE;
+#line 1556 "ImportQueuePage.c"
+}
+
+
+static void import_queue_page_finalize (GObject* obj) {
+ ImportQueuePage * self;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage);
+#line 10 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (self->priv->queue);
+#line 11 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (self->priv->cancel_unallowed);
+#line 12 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (self->priv->current_batch);
+#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ _g_object_unref0 (self->priv->progress_bar);
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala"
+ G_OBJECT_CLASS (import_queue_page_parent_class)->finalize (obj);
+#line 1574 "ImportQueuePage.c"
+}
+
+
+GType import_queue_page_get_type (void) {
+ static volatile gsize import_queue_page_type_id__volatile = 0;
+ if (g_once_init_enter (&import_queue_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (ImportQueuePageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_queue_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportQueuePage), 0, (GInstanceInitFunc) import_queue_page_instance_init, NULL };
+ GType import_queue_page_type_id;
+ import_queue_page_type_id = g_type_register_static (TYPE_SINGLE_PHOTO_PAGE, "ImportQueuePage", &g_define_type_info, 0);
+ g_once_init_leave (&import_queue_page_type_id__volatile, import_queue_page_type_id);
+ }
+ return import_queue_page_type_id__volatile;
+}
+
+
+
diff --git a/src/library/ImportQueueSidebarEntry.c b/src/library/ImportQueueSidebarEntry.c
new file mode 100644
index 0000000..d7077e5
--- /dev/null
+++ b/src/library/ImportQueueSidebarEntry.c
@@ -0,0 +1,496 @@
+/* ImportQueueSidebarEntry.c generated by valac 0.32.1, the Vala compiler
+ * generated from ImportQueueSidebarEntry.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
+#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+
+typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
+typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;
+typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate;
+
+#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ())
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry))
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
+#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
+#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
+
+typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry;
+typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass;
+typedef struct _LibraryImportQueueSidebarEntryPrivate LibraryImportQueueSidebarEntryPrivate;
+
+#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ())
+#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage))
+#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
+#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE))
+#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE))
+#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
+
+typedef struct _SinglePhotoPage SinglePhotoPage;
+typedef struct _SinglePhotoPageClass SinglePhotoPageClass;
+
+#define TYPE_IMPORT_QUEUE_PAGE (import_queue_page_get_type ())
+#define IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage))
+#define IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass))
+#define IS_IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_QUEUE_PAGE))
+#define IS_IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_QUEUE_PAGE))
+#define IMPORT_QUEUE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass))
+
+typedef struct _ImportQueuePage ImportQueuePage;
+typedef struct _ImportQueuePageClass ImportQueuePageClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_BATCH_IMPORT (batch_import_get_type ())
+#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
+#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
+#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
+#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
+#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))
+
+typedef struct _BatchImport BatchImport;
+typedef struct _BatchImportClass BatchImportClass;
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _LibraryHideablePageEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryHideablePageEntryPrivate * priv;
+};
+
+struct _LibraryHideablePageEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _LibraryImportQueueSidebarEntry {
+ LibraryHideablePageEntry parent_instance;
+ LibraryImportQueueSidebarEntryPrivate * priv;
+};
+
+struct _LibraryImportQueueSidebarEntryClass {
+ LibraryHideablePageEntryClass parent_class;
+};
+
+
+static gpointer library_import_queue_sidebar_entry_parent_class = NULL;
+
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
+GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_DUMMY_PROPERTY
+};
+LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void);
+LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type);
+LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type);
+static void library_import_queue_sidebar_entry_on_page_created (LibraryImportQueueSidebarEntry* self);
+static void _library_import_queue_sidebar_entry_on_page_created_sidebar_page_representative_page_created (SidebarPageRepresentative* _sender, Page* page, gpointer self);
+static void library_import_queue_sidebar_entry_on_destroying_page (LibraryImportQueueSidebarEntry* self);
+static void _library_import_queue_sidebar_entry_on_destroying_page_sidebar_page_representative_destroying_page (SidebarPageRepresentative* _sender, Page* page, gpointer self);
+void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value);
+static gchar* library_import_queue_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define IMPORT_QUEUE_PAGE_NAME _ ("Importing...")
+static gchar* library_import_queue_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+#define RESOURCES_ICON_IMPORTING "go-down"
+static Page* library_import_queue_sidebar_entry_real_create_page (SidebarSimplePageEntry* base);
+ImportQueuePage* import_queue_page_new (void);
+ImportQueuePage* import_queue_page_construct (GType object_type);
+GType single_photo_page_get_type (void) G_GNUC_CONST;
+GType import_queue_page_get_type (void) G_GNUC_CONST;
+static ImportQueuePage* library_import_queue_sidebar_entry_get_queue_page (LibraryImportQueueSidebarEntry* self);
+Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self);
+static void library_import_queue_sidebar_entry_on_batch_added_or_removed (LibraryImportQueueSidebarEntry* self);
+GType batch_import_get_type (void) G_GNUC_CONST;
+static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self);
+static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self);
+gint import_queue_page_get_batch_count (ImportQueuePage* self);
+void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self, BatchImport* batch_import, gboolean allow_user_cancel);
+void import_queue_page_enqueue_and_schedule (ImportQueuePage* self, BatchImport* batch_import, gboolean allow_user_cancel);
+
+
+static void _library_import_queue_sidebar_entry_on_page_created_sidebar_page_representative_page_created (SidebarPageRepresentative* _sender, Page* page, gpointer self) {
+#line 10 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_import_queue_sidebar_entry_on_page_created ((LibraryImportQueueSidebarEntry*) self);
+#line 239 "ImportQueueSidebarEntry.c"
+}
+
+
+static void _library_import_queue_sidebar_entry_on_destroying_page_sidebar_page_representative_destroying_page (SidebarPageRepresentative* _sender, Page* page, gpointer self) {
+#line 11 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_import_queue_sidebar_entry_on_destroying_page ((LibraryImportQueueSidebarEntry*) self);
+#line 246 "ImportQueueSidebarEntry.c"
+}
+
+
+LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type) {
+ LibraryImportQueueSidebarEntry * self = NULL;
+#line 8 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ self = (LibraryImportQueueSidebarEntry*) library_hideable_page_entry_construct (object_type);
+#line 10 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative), "page-created", (GCallback) _library_import_queue_sidebar_entry_on_page_created_sidebar_page_representative_page_created, self, 0);
+#line 11 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative), "destroying-page", (GCallback) _library_import_queue_sidebar_entry_on_destroying_page_sidebar_page_representative_destroying_page, self, 0);
+#line 16 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), FALSE);
+#line 8 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ return self;
+#line 262 "ImportQueueSidebarEntry.c"
+}
+
+
+LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void) {
+#line 8 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ return library_import_queue_sidebar_entry_construct (LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY);
+#line 269 "ImportQueueSidebarEntry.c"
+}
+
+
+static gchar* library_import_queue_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ LibraryImportQueueSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 19 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry);
+#line 20 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = g_strdup (IMPORT_QUEUE_PAGE_NAME);
+#line 20 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ result = _tmp0_;
+#line 20 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ return result;
+#line 285 "ImportQueueSidebarEntry.c"
+}
+
+
+static gchar* library_import_queue_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ LibraryImportQueueSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 23 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = g_strdup (RESOURCES_ICON_IMPORTING);
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ result = _tmp0_;
+#line 24 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ return result;
+#line 301 "ImportQueueSidebarEntry.c"
+}
+
+
+static Page* library_import_queue_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) {
+ LibraryImportQueueSidebarEntry * self;
+ Page* result = NULL;
+ ImportQueuePage* _tmp0_ = NULL;
+#line 27 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry);
+#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = import_queue_page_new ();
+#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_object_ref_sink (_tmp0_);
+#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ return result;
+#line 319 "ImportQueueSidebarEntry.c"
+}
+
+
+static ImportQueuePage* library_import_queue_sidebar_entry_get_queue_page (LibraryImportQueueSidebarEntry* self) {
+ ImportQueuePage* result = NULL;
+ Page* _tmp0_ = NULL;
+ ImportQueuePage* _tmp1_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_return_val_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self), NULL);
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_IMPORT_QUEUE_PAGE) ? ((ImportQueuePage*) _tmp0_) : NULL;
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ if (_tmp1_ == NULL) {
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp0_);
+#line 337 "ImportQueueSidebarEntry.c"
+ }
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ result = _tmp1_;
+#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ return result;
+#line 343 "ImportQueueSidebarEntry.c"
+}
+
+
+static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self) {
+#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_import_queue_sidebar_entry_on_batch_added_or_removed ((LibraryImportQueueSidebarEntry*) self);
+#line 350 "ImportQueueSidebarEntry.c"
+}
+
+
+static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self) {
+#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_import_queue_sidebar_entry_on_batch_added_or_removed ((LibraryImportQueueSidebarEntry*) self);
+#line 357 "ImportQueueSidebarEntry.c"
+}
+
+
+static void library_import_queue_sidebar_entry_on_page_created (LibraryImportQueueSidebarEntry* self) {
+ ImportQueuePage* _tmp0_ = NULL;
+ ImportQueuePage* _tmp1_ = NULL;
+ ImportQueuePage* _tmp2_ = NULL;
+ ImportQueuePage* _tmp3_ = NULL;
+#line 35 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self));
+#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self);
+#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_connect_object (_tmp1_, "batch-added", (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added, self, 0);
+#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp1_);
+#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp2_ = library_import_queue_sidebar_entry_get_queue_page (self);
+#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_connect_object (_tmp3_, "batch-removed", (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed, self, 0);
+#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 384 "ImportQueueSidebarEntry.c"
+}
+
+
+static void library_import_queue_sidebar_entry_on_destroying_page (LibraryImportQueueSidebarEntry* self) {
+ ImportQueuePage* _tmp0_ = NULL;
+ ImportQueuePage* _tmp1_ = NULL;
+ guint _tmp2_ = 0U;
+ ImportQueuePage* _tmp3_ = NULL;
+ ImportQueuePage* _tmp4_ = NULL;
+ guint _tmp5_ = 0U;
+#line 40 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self));
+#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self);
+#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_parse_name ("batch-added", TYPE_IMPORT_QUEUE_PAGE, &_tmp2_, NULL, FALSE);
+#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added, self);
+#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp1_);
+#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp3_ = library_import_queue_sidebar_entry_get_queue_page (self);
+#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp4_ = _tmp3_;
+#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_parse_name ("batch-removed", TYPE_IMPORT_QUEUE_PAGE, &_tmp5_, NULL, FALSE);
+#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed, self);
+#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp4_);
+#line 417 "ImportQueueSidebarEntry.c"
+}
+
+
+static void library_import_queue_sidebar_entry_on_batch_added_or_removed (LibraryImportQueueSidebarEntry* self) {
+ ImportQueuePage* _tmp0_ = NULL;
+ ImportQueuePage* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+#line 45 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self));
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self);
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp2_ = import_queue_page_get_batch_count (_tmp1_);
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp2_ > 0);
+#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp1_);
+#line 437 "ImportQueueSidebarEntry.c"
+}
+
+
+void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self, BatchImport* batch_import, gboolean allow_user_cancel) {
+ ImportQueuePage* _tmp0_ = NULL;
+ ImportQueuePage* _tmp1_ = NULL;
+ BatchImport* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 49 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self));
+#line 49 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ g_return_if_fail (IS_BATCH_IMPORT (batch_import));
+#line 52 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), TRUE);
+#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self);
+#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp2_ = batch_import;
+#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _tmp3_ = allow_user_cancel;
+#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ import_queue_page_enqueue_and_schedule (_tmp1_, _tmp2_, _tmp3_);
+#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ _g_object_unref0 (_tmp1_);
+#line 464 "ImportQueueSidebarEntry.c"
+}
+
+
+static void library_import_queue_sidebar_entry_class_init (LibraryImportQueueSidebarEntryClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ library_import_queue_sidebar_entry_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_import_queue_sidebar_entry_real_get_sidebar_name;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_import_queue_sidebar_entry_real_get_sidebar_icon;
+#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = library_import_queue_sidebar_entry_real_create_page;
+#line 477 "ImportQueueSidebarEntry.c"
+}
+
+
+static void library_import_queue_sidebar_entry_instance_init (LibraryImportQueueSidebarEntry * self) {
+}
+
+
+GType library_import_queue_sidebar_entry_get_type (void) {
+ static volatile gsize library_import_queue_sidebar_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_import_queue_sidebar_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryImportQueueSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_import_queue_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryImportQueueSidebarEntry), 0, (GInstanceInitFunc) library_import_queue_sidebar_entry_instance_init, NULL };
+ GType library_import_queue_sidebar_entry_type_id;
+ library_import_queue_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryImportQueueSidebarEntry", &g_define_type_info, 0);
+ g_once_init_leave (&library_import_queue_sidebar_entry_type_id__volatile, library_import_queue_sidebar_entry_type_id);
+ }
+ return library_import_queue_sidebar_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/library/LastImportPage.c b/src/library/LastImportPage.c
new file mode 100644
index 0000000..d0f8f24
--- /dev/null
+++ b/src/library/LastImportPage.c
@@ -0,0 +1,1278 @@
+/* LastImportPage.c generated by valac 0.32.1, the Vala compiler
+ * generated from LastImportPage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+typedef struct _MediaPagePrivate MediaPagePrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+typedef struct _CollectionPagePrivate CollectionPagePrivate;
+
+#define TYPE_LAST_IMPORT_PAGE (last_import_page_get_type ())
+#define LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPage))
+#define LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LAST_IMPORT_PAGE, LastImportPageClass))
+#define IS_LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LAST_IMPORT_PAGE))
+#define IS_LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LAST_IMPORT_PAGE))
+#define LAST_IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPageClass))
+
+typedef struct _LastImportPage LastImportPage;
+typedef struct _LastImportPageClass LastImportPageClass;
+typedef struct _LastImportPagePrivate LastImportPagePrivate;
+
+#define TYPE_IMPORT_ID (import_id_get_type ())
+typedef struct _ImportID ImportID;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL)))
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+#define _import_id_free0(var) ((var == NULL) ? NULL : (var = (import_id_free (var), NULL)))
+
+#define TYPE_VIEW_MANAGER (view_manager_get_type ())
+#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
+#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
+#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
+#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
+#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))
+
+typedef struct _ViewManager ViewManager;
+typedef struct _ViewManagerClass ViewManagerClass;
+
+#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ())
+#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor))
+#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+
+typedef struct _ViewCollectionMonitor ViewCollectionMonitor;
+typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass;
+
+#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
+#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
+#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
+#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
+#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+
+typedef struct _CollectionViewManager CollectionViewManager;
+typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
+
+#define LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER (last_import_page_last_import_view_manager_get_type ())
+#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManager))
+#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManagerClass))
+#define LAST_IMPORT_PAGE_IS_LAST_IMPORT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER))
+#define LAST_IMPORT_PAGE_IS_LAST_IMPORT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER))
+#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManagerClass))
+
+typedef struct _LastImportPageLastImportViewManager LastImportPageLastImportViewManager;
+typedef struct _LastImportPageLastImportViewManagerClass LastImportPageLastImportViewManagerClass;
+#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL)))
+#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL)))
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+typedef struct _ViewManagerPrivate ViewManagerPrivate;
+typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate;
+typedef struct _LastImportPageLastImportViewManagerPrivate LastImportPageLastImportViewManagerPrivate;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ RAW_DEVELOPER_SHOTWELL = 0,
+ RAW_DEVELOPER_CAMERA,
+ RAW_DEVELOPER_EMBEDDED
+} RawDeveloper;
+
+struct _MediaPage {
+ CheckerboardPage parent_instance;
+ MediaPagePrivate * priv;
+};
+
+struct _MediaPageClass {
+ CheckerboardPageClass parent_class;
+ void (*on_zoom_changed) (MediaPage* self);
+ void (*on_export) (MediaPage* self);
+ void (*on_increase_size) (MediaPage* self);
+ void (*on_decrease_size) (MediaPage* self);
+ void (*on_increase_rating) (MediaPage* self);
+ void (*on_decrease_rating) (MediaPage* self);
+ void (*on_set_rating) (MediaPage* self, Rating rating);
+ void (*on_rate_rejected) (MediaPage* self);
+ void (*on_rate_unrated) (MediaPage* self);
+ void (*on_rate_one) (MediaPage* self);
+ void (*on_rate_two) (MediaPage* self);
+ void (*on_rate_three) (MediaPage* self);
+ void (*on_rate_four) (MediaPage* self);
+ void (*on_rate_five) (MediaPage* self);
+ void (*on_move_to_trash) (MediaPage* self);
+ void (*on_edit_title) (MediaPage* self);
+ void (*on_edit_comment) (MediaPage* self);
+ void (*on_display_titles) (MediaPage* self, GtkAction* action);
+ void (*on_display_comments) (MediaPage* self, GtkAction* action);
+ void (*on_display_ratings) (MediaPage* self, GtkAction* action);
+ void (*on_display_tags) (MediaPage* self, GtkAction* action);
+ void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
+ void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
+ void (*on_sort_changed) (MediaPage* self);
+ void (*developer_changed) (MediaPage* self, RawDeveloper rd);
+ DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
+};
+
+struct _CollectionPage {
+ MediaPage parent_instance;
+ CollectionPagePrivate * priv;
+};
+
+struct _CollectionPageClass {
+ MediaPageClass parent_class;
+};
+
+struct _LastImportPage {
+ CollectionPage parent_instance;
+ LastImportPagePrivate * priv;
+};
+
+struct _LastImportPageClass {
+ CollectionPageClass parent_class;
+};
+
+struct _ImportID {
+ gint64 id;
+};
+
+struct _LastImportPagePrivate {
+ ImportID last_import_id;
+ Alteration* last_import_alteration;
+};
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+struct _ViewManager {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewManagerPrivate * priv;
+};
+
+struct _ViewManagerClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewManager *self);
+ gboolean (*include_in_view) (ViewManager* self, DataSource* source);
+ DataView* (*create_view) (ViewManager* self, DataSource* source);
+};
+
+struct _CollectionViewManager {
+ ViewManager parent_instance;
+ CollectionViewManagerPrivate * priv;
+};
+
+struct _CollectionViewManagerClass {
+ ViewManagerClass parent_class;
+};
+
+struct _LastImportPageLastImportViewManager {
+ CollectionViewManager parent_instance;
+ LastImportPageLastImportViewManagerPrivate * priv;
+};
+
+struct _LastImportPageLastImportViewManagerClass {
+ CollectionViewManagerClass parent_class;
+};
+
+struct _LastImportPageLastImportViewManagerPrivate {
+ ImportID import_id;
+};
+
+
+static gpointer last_import_page_parent_class = NULL;
+static gpointer last_import_page_last_import_view_manager_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType raw_developer_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType last_import_page_get_type (void) G_GNUC_CONST;
+GType import_id_get_type (void) G_GNUC_CONST;
+ImportID* import_id_dup (const ImportID* self);
+void import_id_free (ImportID* self);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+#define LAST_IMPORT_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LAST_IMPORT_PAGE, LastImportPagePrivate))
+enum {
+ LAST_IMPORT_PAGE_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+static void last_import_page_on_import_rolls_altered (LastImportPage* self);
+static void _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self);
+#define IMPORT_ID_INVALID ((gint64) 0)
+void import_id_init (ImportID *self, gint64 id);
+Alteration* alteration_new (const gchar* subject, const gchar* detail);
+Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail);
+#define LAST_IMPORT_PAGE_NAME _ ("Last Import")
+LastImportPage* last_import_page_new (void);
+LastImportPage* last_import_page_construct (GType object_type);
+CollectionPage* collection_page_construct (GType object_type, const gchar* page_name);
+ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+void view_collection_halt_all_monitoring (ViewCollection* self);
+void data_collection_clear (DataCollection* self);
+gpointer view_manager_ref (gpointer instance);
+void view_manager_unref (gpointer instance);
+GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_manager (GValue* value, gpointer v_object);
+void value_take_view_manager (GValue* value, gpointer v_object);
+gpointer value_get_view_manager (const GValue* value);
+GType view_manager_get_type (void) G_GNUC_CONST;
+gpointer view_collection_monitor_ref (gpointer instance);
+void view_collection_monitor_unref (gpointer instance);
+GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void view_collection_value_set_monitor (GValue* value, gpointer v_object);
+void view_collection_value_take_monitor (GValue* value, gpointer v_object);
+gpointer view_collection_value_get_monitor (const GValue* value);
+GType view_collection_monitor_get_type (void) G_GNUC_CONST;
+ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target);
+static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_new (LastImportPage* owner, ImportID* import_id);
+static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_construct (GType object_type, LastImportPage* owner, ImportID* import_id);
+GType collection_view_manager_get_type (void) G_GNUC_CONST;
+static GType last_import_page_last_import_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static void last_import_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by);
+static void last_import_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by);
+void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by);
+#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManagerPrivate))
+enum {
+ LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_DUMMY_PROPERTY
+};
+CollectionViewManager* collection_view_manager_new (CollectionPage* page);
+CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page);
+static gboolean last_import_page_last_import_view_manager_real_include_in_view (ViewManager* base, DataSource* source);
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+void media_source_get_import_id (MediaSource* self, ImportID* result);
+static void last_import_page_last_import_view_manager_finalize (ViewManager* obj);
+static void last_import_page_finalize (GObject* obj);
+
+
+static void _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self) {
+#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ last_import_page_on_import_rolls_altered ((LastImportPage*) self);
+#line 715 "LastImportPage.c"
+}
+
+
+LastImportPage* last_import_page_construct (GType object_type) {
+ LastImportPage * self = NULL;
+#line 28 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = (LastImportPage*) collection_page_construct (object_type, LAST_IMPORT_PAGE_NAME);
+#line 723 "LastImportPage.c"
+ {
+ GeeIterator* _col_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp1_ = _tmp0_;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp3_ = _tmp2_;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp5_ = _tmp4_;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_tmp3_);
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _col_it = _tmp5_;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ while (TRUE) {
+#line 752 "LastImportPage.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* col = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp6_ = _col_it;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (!_tmp7_) {
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ break;
+#line 767 "LastImportPage.c"
+ }
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp8_ = _col_it;
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ col = (MediaSourceCollection*) _tmp9_;
+#line 32 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp10_ = col;
+#line 32 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_signal_connect_object (_tmp10_, "import-roll-altered", (GCallback) _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered, self, 0);
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (col);
+#line 781 "LastImportPage.c"
+ }
+#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_col_it);
+#line 785 "LastImportPage.c"
+ }
+#line 36 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ last_import_page_on_import_rolls_altered (self);
+#line 27 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return self;
+#line 791 "LastImportPage.c"
+}
+
+
+LastImportPage* last_import_page_new (void) {
+#line 27 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return last_import_page_construct (TYPE_LAST_IMPORT_PAGE);
+#line 798 "LastImportPage.c"
+}
+
+
+static void last_import_page_on_import_rolls_altered (LastImportPage* self) {
+ ImportID* current_last_import_id = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ ImportID* _tmp2_ = NULL;
+ ImportID* _tmp3_ = NULL;
+ ImportID* _tmp4_ = NULL;
+ ImportID* _tmp9_ = NULL;
+ gint64 _tmp10_ = 0LL;
+ ImportID _tmp11_ = {0};
+ gint64 _tmp12_ = 0LL;
+ ImportID* _tmp13_ = NULL;
+ ViewCollection* _tmp14_ = NULL;
+ ViewCollection* _tmp15_ = NULL;
+ ViewCollection* _tmp16_ = NULL;
+ ViewCollection* _tmp17_ = NULL;
+#line 45 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_return_if_fail (IS_LAST_IMPORT_PAGE (self));
+#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp1_ = _tmp0_;
+#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp2_ = media_collection_registry_get_last_import_id (_tmp1_);
+#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp3_ = _tmp2_;
+#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ current_last_import_id = _tmp3_;
+#line 50 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp4_ = current_last_import_id;
+#line 50 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (_tmp4_ == NULL) {
+#line 836 "LastImportPage.c"
+ ViewCollection* _tmp5_ = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ ViewCollection* _tmp8_ = NULL;
+#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp6_ = _tmp5_;
+#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ view_collection_halt_all_monitoring (_tmp6_);
+#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (_tmp6_);
+#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp8_ = _tmp7_;
+#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection));
+#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (_tmp8_);
+#line 54 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _import_id_free0 (current_last_import_id);
+#line 54 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return;
+#line 861 "LastImportPage.c"
+ }
+#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp9_ = current_last_import_id;
+#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp10_ = (*_tmp9_).id;
+#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp11_ = self->priv->last_import_id;
+#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp12_ = _tmp11_.id;
+#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (_tmp10_ == _tmp12_) {
+#line 58 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _import_id_free0 (current_last_import_id);
+#line 58 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return;
+#line 877 "LastImportPage.c"
+ }
+#line 60 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp13_ = current_last_import_id;
+#line 60 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self->priv->last_import_id = *_tmp13_;
+#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp15_ = _tmp14_;
+#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ view_collection_halt_all_monitoring (_tmp15_);
+#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (_tmp15_);
+#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp17_ = _tmp16_;
+#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection));
+#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (_tmp17_);
+#line 899 "LastImportPage.c"
+ {
+ GeeIterator* _col_it = NULL;
+ MediaCollectionRegistry* _tmp18_ = NULL;
+ MediaCollectionRegistry* _tmp19_ = NULL;
+ GeeCollection* _tmp20_ = NULL;
+ GeeCollection* _tmp21_ = NULL;
+ GeeIterator* _tmp22_ = NULL;
+ GeeIterator* _tmp23_ = NULL;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp18_ = media_collection_registry_get_instance ();
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp19_ = _tmp18_;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp20_ = media_collection_registry_get_all (_tmp19_);
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp21_ = _tmp20_;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp22_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp23_ = _tmp22_;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_tmp21_);
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _media_collection_registry_unref0 (_tmp19_);
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _col_it = _tmp23_;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ while (TRUE) {
+#line 928 "LastImportPage.c"
+ GeeIterator* _tmp24_ = NULL;
+ gboolean _tmp25_ = FALSE;
+ MediaSourceCollection* col = NULL;
+ GeeIterator* _tmp26_ = NULL;
+ gpointer _tmp27_ = NULL;
+ ViewCollection* _tmp28_ = NULL;
+ ViewCollection* _tmp29_ = NULL;
+ MediaSourceCollection* _tmp30_ = NULL;
+ ImportID _tmp31_ = {0};
+ LastImportPageLastImportViewManager* _tmp32_ = NULL;
+ LastImportPageLastImportViewManager* _tmp33_ = NULL;
+ Alteration* _tmp34_ = NULL;
+ ViewCollectionMonitor* _tmp35_ = NULL;
+ ViewCollectionMonitor* _tmp36_ = NULL;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp24_ = _col_it;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp25_ = gee_iterator_next (_tmp24_);
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (!_tmp25_) {
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ break;
+#line 951 "LastImportPage.c"
+ }
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp26_ = _col_it;
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp27_ = gee_iterator_get (_tmp26_);
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ col = (MediaSourceCollection*) _tmp27_;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp28_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp29_ = _tmp28_;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp30_ = col;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp31_ = self->priv->last_import_id;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp32_ = last_import_page_last_import_view_manager_new (self, &_tmp31_);
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp33_ = _tmp32_;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp34_ = self->priv->last_import_alteration;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp35_ = view_collection_monitor_source_collection (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_VIEW_MANAGER, ViewManager), _tmp34_, NULL, NULL, NULL);
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp36_ = _tmp35_;
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _view_collection_monitor_unref0 (_tmp36_);
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _view_manager_unref0 (_tmp33_);
+#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (_tmp29_);
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (col);
+#line 985 "LastImportPage.c"
+ }
+#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_col_it);
+#line 989 "LastImportPage.c"
+ }
+#line 45 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _import_id_free0 (current_last_import_id);
+#line 993 "LastImportPage.c"
+}
+
+
+static void last_import_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) {
+ LastImportPage * self;
+ gboolean _vala_sort_order = FALSE;
+ gint _vala_sort_by = 0;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LAST_IMPORT_PAGE, LastImportPage);
+#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp1_ = _tmp0_;
+#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_);
+#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _vala_sort_order = _tmp2_;
+#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _vala_sort_by = _tmp3_;
+#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (sort_order) {
+#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ *sort_order = _vala_sort_order;
+#line 1023 "LastImportPage.c"
+ }
+#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (sort_by) {
+#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ *sort_by = _vala_sort_by;
+#line 1029 "LastImportPage.c"
+ }
+}
+
+
+static void last_import_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) {
+ LastImportPage * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 75 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LAST_IMPORT_PAGE, LastImportPage);
+#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp1_ = _tmp0_;
+#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp2_ = sort_order;
+#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp3_ = sort_by;
+#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_);
+#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1054 "LastImportPage.c"
+}
+
+
+static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_construct (GType object_type, LastImportPage* owner, ImportID* import_id) {
+ LastImportPageLastImportViewManager* self = NULL;
+ LastImportPage* _tmp0_ = NULL;
+ ImportID _tmp1_ = {0};
+#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_return_val_if_fail (IS_LAST_IMPORT_PAGE (owner), NULL);
+#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_return_val_if_fail (import_id != NULL, NULL);
+#line 14 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = owner;
+#line 14 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = (LastImportPageLastImportViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage));
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp1_ = *import_id;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self->priv->import_id = _tmp1_;
+#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return self;
+#line 1076 "LastImportPage.c"
+}
+
+
+static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_new (LastImportPage* owner, ImportID* import_id) {
+#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return last_import_page_last_import_view_manager_construct (LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, owner, import_id);
+#line 1083 "LastImportPage.c"
+}
+
+
+static gboolean last_import_page_last_import_view_manager_real_include_in_view (ViewManager* base, DataSource* source) {
+ LastImportPageLastImportViewManager * self;
+ gboolean result = FALSE;
+ DataSource* _tmp0_ = NULL;
+ ImportID _tmp1_ = {0};
+ gint64 _tmp2_ = 0LL;
+ ImportID _tmp3_ = {0};
+ gint64 _tmp4_ = 0LL;
+#line 19 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManager);
+#line 19 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE);
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = source;
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ media_source_get_import_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp1_);
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp2_ = _tmp1_.id;
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp3_ = self->priv->import_id;
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp4_ = _tmp3_.id;
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ result = _tmp2_ == _tmp4_;
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ return result;
+#line 1113 "LastImportPage.c"
+}
+
+
+static void last_import_page_last_import_view_manager_class_init (LastImportPageLastImportViewManagerClass * klass) {
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ last_import_page_last_import_view_manager_parent_class = g_type_class_peek_parent (klass);
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ ((ViewManagerClass *) klass)->finalize = last_import_page_last_import_view_manager_finalize;
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_type_class_add_private (klass, sizeof (LastImportPageLastImportViewManagerPrivate));
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ ((ViewManagerClass *) klass)->include_in_view = last_import_page_last_import_view_manager_real_include_in_view;
+#line 1126 "LastImportPage.c"
+}
+
+
+static void last_import_page_last_import_view_manager_instance_init (LastImportPageLastImportViewManager * self) {
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self->priv = LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_GET_PRIVATE (self);
+#line 1133 "LastImportPage.c"
+}
+
+
+static void last_import_page_last_import_view_manager_finalize (ViewManager* obj) {
+ LastImportPageLastImportViewManager * self;
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManager);
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ VIEW_MANAGER_CLASS (last_import_page_last_import_view_manager_parent_class)->finalize (obj);
+#line 1143 "LastImportPage.c"
+}
+
+
+static GType last_import_page_last_import_view_manager_get_type (void) {
+ static volatile gsize last_import_page_last_import_view_manager_type_id__volatile = 0;
+ if (g_once_init_enter (&last_import_page_last_import_view_manager_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LastImportPageLastImportViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) last_import_page_last_import_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LastImportPageLastImportViewManager), 0, (GInstanceInitFunc) last_import_page_last_import_view_manager_instance_init, NULL };
+ GType last_import_page_last_import_view_manager_type_id;
+ last_import_page_last_import_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "LastImportPageLastImportViewManager", &g_define_type_info, 0);
+ g_once_init_leave (&last_import_page_last_import_view_manager_type_id__volatile, last_import_page_last_import_view_manager_type_id);
+ }
+ return last_import_page_last_import_view_manager_type_id__volatile;
+}
+
+
+static void last_import_page_class_init (LastImportPageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ last_import_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_type_class_add_private (klass, sizeof (LastImportPagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ ((MediaPageClass *) klass)->get_config_photos_sort = last_import_page_real_get_config_photos_sort;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ ((MediaPageClass *) klass)->set_config_photos_sort = last_import_page_real_set_config_photos_sort;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = last_import_page_finalize;
+#line 1170 "LastImportPage.c"
+}
+
+
+static void last_import_page_instance_init (LastImportPage * self) {
+ Alteration* _tmp0_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self->priv = LAST_IMPORT_PAGE_GET_PRIVATE (self);
+#line 24 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ import_id_init (&self->priv->last_import_id, IMPORT_ID_INVALID);
+#line 25 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = alteration_new ("metadata", "import-id");
+#line 25 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self->priv->last_import_alteration = _tmp0_;
+#line 1184 "LastImportPage.c"
+}
+
+
+static void last_import_page_finalize (GObject* obj) {
+ LastImportPage * self;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LAST_IMPORT_PAGE, LastImportPage);
+#line 1192 "LastImportPage.c"
+ {
+ GeeIterator* _col_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp1_ = _tmp0_;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp3_ = _tmp2_;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp5_ = _tmp4_;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_tmp3_);
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _col_it = _tmp5_;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ while (TRUE) {
+#line 1221 "LastImportPage.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* col = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+ guint _tmp11_ = 0U;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp6_ = _col_it;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ if (!_tmp7_) {
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ break;
+#line 1237 "LastImportPage.c"
+ }
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp8_ = _col_it;
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ col = (MediaSourceCollection*) _tmp9_;
+#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _tmp10_ = col;
+#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_signal_parse_name ("import-roll-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE);
+#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered, self);
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _data_collection_unref0 (col);
+#line 1253 "LastImportPage.c"
+ }
+#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _g_object_unref0 (_col_it);
+#line 1257 "LastImportPage.c"
+ }
+#line 25 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ _alteration_unref0 (self->priv->last_import_alteration);
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala"
+ G_OBJECT_CLASS (last_import_page_parent_class)->finalize (obj);
+#line 1263 "LastImportPage.c"
+}
+
+
+GType last_import_page_get_type (void) {
+ static volatile gsize last_import_page_type_id__volatile = 0;
+ if (g_once_init_enter (&last_import_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LastImportPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) last_import_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LastImportPage), 0, (GInstanceInitFunc) last_import_page_instance_init, NULL };
+ GType last_import_page_type_id;
+ last_import_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "LastImportPage", &g_define_type_info, 0);
+ g_once_init_leave (&last_import_page_type_id__volatile, last_import_page_type_id);
+ }
+ return last_import_page_type_id__volatile;
+}
+
+
+
diff --git a/src/library/LastImportSidebarEntry.c b/src/library/LastImportSidebarEntry.c
new file mode 100644
index 0000000..bdf6b91
--- /dev/null
+++ b/src/library/LastImportSidebarEntry.c
@@ -0,0 +1,610 @@
+/* LastImportSidebarEntry.c generated by valac 0.32.1, the Vala compiler
+ * generated from LastImportSidebarEntry.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gee.h>
+#include <glib/gi18n-lib.h>
+
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
+#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+
+typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
+typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;
+typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate;
+
+#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ())
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry))
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
+#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
+#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
+
+typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry;
+typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass;
+typedef struct _LibraryLastImportSidebarEntryPrivate LibraryLastImportSidebarEntryPrivate;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_IMPORT_ID (import_id_get_type ())
+typedef struct _ImportID ImportID;
+#define _import_id_free0(var) ((var == NULL) ? NULL : (var = (import_id_free (var), NULL)))
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define TYPE_LAST_IMPORT_PAGE (last_import_page_get_type ())
+#define LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPage))
+#define LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LAST_IMPORT_PAGE, LastImportPageClass))
+#define IS_LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LAST_IMPORT_PAGE))
+#define IS_LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LAST_IMPORT_PAGE))
+#define LAST_IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPageClass))
+
+typedef struct _LastImportPage LastImportPage;
+typedef struct _LastImportPageClass LastImportPageClass;
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _LibraryHideablePageEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryHideablePageEntryPrivate * priv;
+};
+
+struct _LibraryHideablePageEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _LibraryLastImportSidebarEntry {
+ LibraryHideablePageEntry parent_instance;
+ LibraryLastImportSidebarEntryPrivate * priv;
+};
+
+struct _LibraryLastImportSidebarEntryClass {
+ LibraryHideablePageEntryClass parent_class;
+};
+
+struct _ImportID {
+ gint64 id;
+};
+
+
+static gpointer library_last_import_sidebar_entry_parent_class = NULL;
+
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
+GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+static void library_last_import_sidebar_entry_on_import_rolls_altered (LibraryLastImportSidebarEntry* self);
+static void _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self);
+LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void);
+LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type);
+LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type);
+GType import_id_get_type (void) G_GNUC_CONST;
+ImportID* import_id_dup (const ImportID* self);
+void import_id_free (ImportID* self);
+ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self);
+void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value);
+static gchar* library_last_import_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define LAST_IMPORT_PAGE_NAME _ ("Last Import")
+static gchar* library_last_import_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+#define RESOURCES_ICON_LAST_IMPORT "document-open-recent"
+static Page* library_last_import_sidebar_entry_real_create_page (SidebarSimplePageEntry* base);
+LastImportPage* last_import_page_new (void);
+LastImportPage* last_import_page_construct (GType object_type);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType last_import_page_get_type (void) G_GNUC_CONST;
+static void library_last_import_sidebar_entry_finalize (GObject* obj);
+
+
+static void _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self) {
+#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ library_last_import_sidebar_entry_on_import_rolls_altered ((LibraryLastImportSidebarEntry*) self);
+#line 325 "LastImportSidebarEntry.c"
+}
+
+
+LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type) {
+ LibraryLastImportSidebarEntry * self = NULL;
+ MediaCollectionRegistry* _tmp11_ = NULL;
+ MediaCollectionRegistry* _tmp12_ = NULL;
+ ImportID* _tmp13_ = NULL;
+ ImportID* _tmp14_ = NULL;
+#line 8 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ self = (LibraryLastImportSidebarEntry*) library_hideable_page_entry_construct (object_type);
+#line 337 "LastImportSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ while (TRUE) {
+#line 366 "LastImportSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ break;
+#line 381 "LastImportSidebarEntry.c"
+ }
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 10 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ g_signal_connect_object (_tmp10_, "import-roll-altered", (GCallback) _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered, self, 0);
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 395 "LastImportSidebarEntry.c"
+ }
+#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 399 "LastImportSidebarEntry.c"
+ }
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp11_ = media_collection_registry_get_instance ();
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp12_ = _tmp11_;
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp13_ = media_collection_registry_get_last_import_id (_tmp12_);
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp14_ = _tmp13_;
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp14_ != NULL);
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _import_id_free0 (_tmp14_);
+#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp12_);
+#line 8 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ return self;
+#line 417 "LastImportSidebarEntry.c"
+}
+
+
+LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void) {
+#line 8 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ return library_last_import_sidebar_entry_construct (LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY);
+#line 424 "LastImportSidebarEntry.c"
+}
+
+
+static gchar* library_last_import_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ LibraryLastImportSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 20 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry);
+#line 21 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp0_ = g_strdup (LAST_IMPORT_PAGE_NAME);
+#line 21 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ result = _tmp0_;
+#line 21 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ return result;
+#line 440 "LastImportSidebarEntry.c"
+}
+
+
+static gchar* library_last_import_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ LibraryLastImportSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 24 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry);
+#line 25 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp0_ = g_strdup (RESOURCES_ICON_LAST_IMPORT);
+#line 25 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ result = _tmp0_;
+#line 25 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ return result;
+#line 456 "LastImportSidebarEntry.c"
+}
+
+
+static Page* library_last_import_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) {
+ LibraryLastImportSidebarEntry * self;
+ Page* result = NULL;
+ LastImportPage* _tmp0_ = NULL;
+#line 28 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry);
+#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp0_ = last_import_page_new ();
+#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ g_object_ref_sink (_tmp0_);
+#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ return result;
+#line 474 "LastImportSidebarEntry.c"
+}
+
+
+static void library_last_import_sidebar_entry_on_import_rolls_altered (LibraryLastImportSidebarEntry* self) {
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ ImportID* _tmp2_ = NULL;
+ ImportID* _tmp3_ = NULL;
+#line 32 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY (self));
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_last_import_id (_tmp1_);
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp3_ != NULL);
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _import_id_free0 (_tmp3_);
+#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 499 "LastImportSidebarEntry.c"
+}
+
+
+static void library_last_import_sidebar_entry_class_init (LibraryLastImportSidebarEntryClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ library_last_import_sidebar_entry_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_last_import_sidebar_entry_real_get_sidebar_name;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_last_import_sidebar_entry_real_get_sidebar_icon;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = library_last_import_sidebar_entry_real_create_page;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_last_import_sidebar_entry_finalize;
+#line 514 "LastImportSidebarEntry.c"
+}
+
+
+static void library_last_import_sidebar_entry_instance_init (LibraryLastImportSidebarEntry * self) {
+}
+
+
+static void library_last_import_sidebar_entry_finalize (GObject* obj) {
+ LibraryLastImportSidebarEntry * self;
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry);
+#line 526 "LastImportSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ while (TRUE) {
+#line 555 "LastImportSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+ guint _tmp11_ = 0U;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ break;
+#line 571 "LastImportSidebarEntry.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ g_signal_parse_name ("import-roll-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE);
+#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered, self);
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 587 "LastImportSidebarEntry.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 591 "LastImportSidebarEntry.c"
+ }
+#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala"
+ G_OBJECT_CLASS (library_last_import_sidebar_entry_parent_class)->finalize (obj);
+#line 595 "LastImportSidebarEntry.c"
+}
+
+
+GType library_last_import_sidebar_entry_get_type (void) {
+ static volatile gsize library_last_import_sidebar_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_last_import_sidebar_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryLastImportSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_last_import_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryLastImportSidebarEntry), 0, (GInstanceInitFunc) library_last_import_sidebar_entry_instance_init, NULL };
+ GType library_last_import_sidebar_entry_type_id;
+ library_last_import_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryLastImportSidebarEntry", &g_define_type_info, 0);
+ g_once_init_leave (&library_last_import_sidebar_entry_type_id__volatile, library_last_import_sidebar_entry_type_id);
+ }
+ return library_last_import_sidebar_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/library/Library.c b/src/library/Library.c
new file mode 100644
index 0000000..4ce5d56
--- /dev/null
+++ b/src/library/Library.c
@@ -0,0 +1,46 @@
+/* Library.c generated by valac 0.32.1, the Vala compiler
+ * generated from Library.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+
+
+
+void library_init (GError** error);
+void library_trash_sidebar_entry_init (void);
+gboolean photo_get_develop_raw_photos_to_files (void);
+void photo_set_develop_raw_photos_to_files (gboolean value);
+void library_terminate (void);
+void library_trash_sidebar_entry_terminate (void);
+
+
+void library_init (GError** error) {
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+#line 10 "/home/jens/Source/shotwell/src/library/Library.vala"
+ library_trash_sidebar_entry_init ();
+#line 11 "/home/jens/Source/shotwell/src/library/Library.vala"
+ _tmp0_ = photo_get_develop_raw_photos_to_files ();
+#line 11 "/home/jens/Source/shotwell/src/library/Library.vala"
+ _tmp1_ = _tmp0_;
+#line 11 "/home/jens/Source/shotwell/src/library/Library.vala"
+ photo_set_develop_raw_photos_to_files (TRUE);
+#line 36 "Library.c"
+}
+
+
+void library_terminate (void) {
+#line 15 "/home/jens/Source/shotwell/src/library/Library.vala"
+ library_trash_sidebar_entry_terminate ();
+#line 43 "Library.c"
+}
+
+
+
diff --git a/src/library/LibraryWindow.c b/src/library/LibraryWindow.c
new file mode 100644
index 0000000..9c5d335
--- /dev/null
+++ b/src/library/LibraryWindow.c
@@ -0,0 +1,11056 @@
+/* LibraryWindow.c generated by valac 0.32.1, the Vala compiler
+ * generated from LibraryWindow.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <gio/gio.h>
+#include <glib/gi18n-lib.h>
+#include <gphoto2/gphoto2-camera.h>
+#include <gphoto.h>
+#include <float.h>
+#include <math.h>
+#include <cairo.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+typedef struct _PageWindowPrivate PageWindowPrivate;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define TYPE_APP_WINDOW (app_window_get_type ())
+#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
+#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
+#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
+#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
+#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))
+
+typedef struct _AppWindow AppWindow;
+typedef struct _AppWindowClass AppWindowClass;
+typedef struct _AppWindowPrivate AppWindowPrivate;
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+
+#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
+#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
+#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
+#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
+#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+
+typedef struct _LibraryWindow LibraryWindow;
+typedef struct _LibraryWindowClass LibraryWindowClass;
+typedef struct _LibraryWindowPrivate LibraryWindowPrivate;
+
+#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ())
+#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler))
+#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass))
+#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER))
+#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER))
+#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass))
+
+typedef struct _OneShotScheduler OneShotScheduler;
+typedef struct _OneShotSchedulerClass OneShotSchedulerClass;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ())
+#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch))
+#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+
+typedef struct _SidebarBranch SidebarBranch;
+typedef struct _SidebarBranchClass SidebarBranchClass;
+
+#define LIBRARY_TYPE_BRANCH (library_branch_get_type ())
+#define LIBRARY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_BRANCH, LibraryBranch))
+#define LIBRARY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_BRANCH, LibraryBranchClass))
+#define LIBRARY_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_BRANCH))
+#define LIBRARY_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_BRANCH))
+#define LIBRARY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_BRANCH, LibraryBranchClass))
+
+typedef struct _LibraryBranch LibraryBranch;
+typedef struct _LibraryBranchClass LibraryBranchClass;
+
+#define TAGS_TYPE_BRANCH (tags_branch_get_type ())
+#define TAGS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_BRANCH, TagsBranch))
+#define TAGS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_BRANCH, TagsBranchClass))
+#define TAGS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_BRANCH))
+#define TAGS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_BRANCH))
+#define TAGS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_BRANCH, TagsBranchClass))
+
+typedef struct _TagsBranch TagsBranch;
+typedef struct _TagsBranchClass TagsBranchClass;
+
+#define FOLDERS_TYPE_BRANCH (folders_branch_get_type ())
+#define FOLDERS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_BRANCH, FoldersBranch))
+#define FOLDERS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_BRANCH, FoldersBranchClass))
+#define FOLDERS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_BRANCH))
+#define FOLDERS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_BRANCH))
+#define FOLDERS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_BRANCH, FoldersBranchClass))
+
+typedef struct _FoldersBranch FoldersBranch;
+typedef struct _FoldersBranchClass FoldersBranchClass;
+
+#define EVENTS_TYPE_BRANCH (events_branch_get_type ())
+#define EVENTS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_BRANCH, EventsBranch))
+#define EVENTS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_BRANCH, EventsBranchClass))
+#define EVENTS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_BRANCH))
+#define EVENTS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_BRANCH))
+#define EVENTS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_BRANCH, EventsBranchClass))
+
+typedef struct _EventsBranch EventsBranch;
+typedef struct _EventsBranchClass EventsBranchClass;
+
+#define CAMERA_TYPE_BRANCH (camera_branch_get_type ())
+#define CAMERA_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_BRANCH, CameraBranch))
+#define CAMERA_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_BRANCH, CameraBranchClass))
+#define CAMERA_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_BRANCH))
+#define CAMERA_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_BRANCH))
+#define CAMERA_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_BRANCH, CameraBranchClass))
+
+typedef struct _CameraBranch CameraBranch;
+typedef struct _CameraBranchClass CameraBranchClass;
+
+#define SEARCHES_TYPE_BRANCH (searches_branch_get_type ())
+#define SEARCHES_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_BRANCH, SearchesBranch))
+#define SEARCHES_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_BRANCH, SearchesBranchClass))
+#define SEARCHES_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_BRANCH))
+#define SEARCHES_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_BRANCH))
+#define SEARCHES_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_BRANCH, SearchesBranchClass))
+
+typedef struct _SearchesBranch SearchesBranch;
+typedef struct _SearchesBranchClass SearchesBranchClass;
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ())
+#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage))
+#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
+#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE))
+#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE))
+#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
+
+typedef struct _SinglePhotoPage SinglePhotoPage;
+typedef struct _SinglePhotoPageClass SinglePhotoPageClass;
+
+#define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ())
+#define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage))
+#define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass))
+#define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE))
+#define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE))
+#define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass))
+
+typedef struct _EditingHostPage EditingHostPage;
+typedef struct _EditingHostPageClass EditingHostPageClass;
+
+#define TYPE_LIBRARY_PHOTO_PAGE (library_photo_page_get_type ())
+#define LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage))
+#define LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass))
+#define IS_LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_PAGE))
+#define IS_LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_PAGE))
+#define LIBRARY_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass))
+
+typedef struct _LibraryPhotoPage LibraryPhotoPage;
+typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass;
+
+#define TYPE_SEARCH_FILTER_ACTIONS (search_filter_actions_get_type ())
+#define SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions))
+#define SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass))
+#define IS_SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_ACTIONS))
+#define IS_SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_ACTIONS))
+#define SEARCH_FILTER_ACTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass))
+
+typedef struct _SearchFilterActions SearchFilterActions;
+typedef struct _SearchFilterActionsClass SearchFilterActionsClass;
+
+#define TYPE_SEARCH_FILTER_TOOLBAR (search_filter_toolbar_get_type ())
+#define SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar))
+#define SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass))
+#define IS_SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_TOOLBAR))
+#define IS_SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_TOOLBAR))
+#define SEARCH_FILTER_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass))
+
+typedef struct _SearchFilterToolbar SearchFilterToolbar;
+typedef struct _SearchFilterToolbarClass SearchFilterToolbarClass;
+
+#define TYPE_PROPERTIES (properties_get_type ())
+#define PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROPERTIES, Properties))
+#define PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROPERTIES, PropertiesClass))
+#define IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROPERTIES))
+#define IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROPERTIES))
+#define PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROPERTIES, PropertiesClass))
+
+typedef struct _Properties Properties;
+typedef struct _PropertiesClass PropertiesClass;
+
+#define TYPE_BASIC_PROPERTIES (basic_properties_get_type ())
+#define BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BASIC_PROPERTIES, BasicProperties))
+#define BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BASIC_PROPERTIES, BasicPropertiesClass))
+#define IS_BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BASIC_PROPERTIES))
+#define IS_BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BASIC_PROPERTIES))
+#define BASIC_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BASIC_PROPERTIES, BasicPropertiesClass))
+
+typedef struct _BasicProperties BasicProperties;
+typedef struct _BasicPropertiesClass BasicPropertiesClass;
+
+#define TYPE_EXTENDED_PROPERTIES_WINDOW (extended_properties_window_get_type ())
+#define EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow))
+#define EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass))
+#define IS_EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW))
+#define IS_EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW))
+#define EXTENDED_PROPERTIES_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass))
+
+typedef struct _ExtendedPropertiesWindow ExtendedPropertiesWindow;
+typedef struct _ExtendedPropertiesWindowClass ExtendedPropertiesWindowClass;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_METADATA_WRITER (metadata_writer_get_type ())
+#define METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_WRITER, MetadataWriter))
+#define METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_WRITER, MetadataWriterClass))
+#define IS_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_WRITER))
+#define IS_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_WRITER))
+#define METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_WRITER, MetadataWriterClass))
+
+typedef struct _MetadataWriter MetadataWriter;
+typedef struct _MetadataWriterClass MetadataWriterClass;
+
+#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ())
+#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor))
+#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))
+#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR))
+#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR))
+#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))
+
+typedef struct _DirectoryMonitor DirectoryMonitor;
+typedef struct _DirectoryMonitorClass DirectoryMonitorClass;
+
+#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ())
+#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor))
+#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))
+#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR))
+#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR))
+#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))
+
+typedef struct _LibraryMonitor LibraryMonitor;
+typedef struct _LibraryMonitorClass LibraryMonitorClass;
+
+#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ())
+#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool))
+#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))
+#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL))
+#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL))
+#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))
+
+typedef struct _LibraryMonitorPool LibraryMonitorPool;
+typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass;
+#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL)))
+
+#define TYPE_CAMERA_TABLE (camera_table_get_type ())
+#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable))
+#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass))
+#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE))
+#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE))
+#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass))
+
+typedef struct _CameraTable CameraTable;
+typedef struct _CameraTableClass CameraTableClass;
+
+#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ())
+#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera))
+#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass))
+#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA))
+#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA))
+#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass))
+
+typedef struct _DiscoveredCamera DiscoveredCamera;
+typedef struct _DiscoveredCameraClass DiscoveredCameraClass;
+#define _camera_table_unref0(var) ((var == NULL) ? NULL : (var = (camera_table_unref (var), NULL)))
+
+#define LIBRARY_WINDOW_TYPE_SIDEBAR_ROOT_POSITION (library_window_sidebar_root_position_get_type ())
+
+#define LIBRARY_WINDOW_TYPE_TARGET_TYPE (library_window_target_type_get_type ())
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL)))
+#define _search_filter_actions_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_actions_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+
+#define LIBRARY_TYPE_PHOTOS_ENTRY (library_photos_entry_get_type ())
+#define LIBRARY_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry))
+#define LIBRARY_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))
+#define LIBRARY_IS_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_ENTRY))
+#define LIBRARY_IS_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_ENTRY))
+#define LIBRARY_PHOTOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))
+
+typedef struct _LibraryPhotosEntry LibraryPhotosEntry;
+typedef struct _LibraryPhotosEntryClass LibraryPhotosEntryClass;
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_TAG (tag_get_type ())
+#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag))
+#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass))
+#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG))
+#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG))
+#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass))
+
+typedef struct _Tag Tag;
+typedef struct _TagClass TagClass;
+
+#define TAGS_TYPE_SIDEBAR_ENTRY (tags_sidebar_entry_get_type ())
+#define TAGS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry))
+#define TAGS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass))
+#define TAGS_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_SIDEBAR_ENTRY))
+#define TAGS_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_SIDEBAR_ENTRY))
+#define TAGS_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass))
+
+typedef struct _TagsSidebarEntry TagsSidebarEntry;
+typedef struct _TagsSidebarEntryClass TagsSidebarEntryClass;
+
+#define TYPE_EVENT_SOURCE (event_source_get_type ())
+#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource))
+#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass))
+#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE))
+#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE))
+#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass))
+
+typedef struct _EventSource EventSource;
+typedef struct _EventSourceClass EventSourceClass;
+
+#define TYPE_EVENT (event_get_type ())
+#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event))
+#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass))
+#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT))
+#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT))
+#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass))
+
+typedef struct _Event Event;
+typedef struct _EventClass EventClass;
+
+#define EVENTS_TYPE_EVENT_ENTRY (events_event_entry_get_type ())
+#define EVENTS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry))
+#define EVENTS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))
+#define EVENTS_IS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_EVENT_ENTRY))
+#define EVENTS_IS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_EVENT_ENTRY))
+#define EVENTS_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))
+
+typedef struct _EventsEventEntry EventsEventEntry;
+typedef struct _EventsEventEntryClass EventsEventEntryClass;
+
+#define TYPE_SAVED_SEARCH (saved_search_get_type ())
+#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
+#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
+#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
+#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
+#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))
+
+typedef struct _SavedSearch SavedSearch;
+typedef struct _SavedSearchClass SavedSearchClass;
+
+#define SEARCHES_TYPE_SIDEBAR_ENTRY (searches_sidebar_entry_get_type ())
+#define SEARCHES_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry))
+#define SEARCHES_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))
+#define SEARCHES_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY))
+#define SEARCHES_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY))
+#define SEARCHES_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))
+
+typedef struct _SearchesSidebarEntry SearchesSidebarEntry;
+typedef struct _SearchesSidebarEntryClass SearchesSidebarEntryClass;
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
+#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
+#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
+#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
+#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+
+typedef struct _PhotoSource PhotoSource;
+typedef struct _PhotoSourceClass PhotoSourceClass;
+
+#define TYPE_PHOTO (photo_get_type ())
+#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
+#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
+#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
+#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
+#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))
+
+typedef struct _Photo Photo;
+typedef struct _PhotoClass PhotoClass;
+
+#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
+#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
+#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
+#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
+#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+
+typedef struct _LibraryPhoto LibraryPhoto;
+typedef struct _LibraryPhotoClass LibraryPhotoClass;
+
+#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ())
+#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage))
+#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
+#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE))
+#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE))
+#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
+
+typedef struct _EventsDirectoryPage EventsDirectoryPage;
+typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_EVENT_PAGE (event_page_get_type ())
+#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage))
+#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass))
+#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE))
+#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE))
+#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass))
+
+typedef struct _EventPage EventPage;
+typedef struct _EventPageClass EventPageClass;
+
+#define LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE (library_window_fullscreen_photo_page_get_type ())
+#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage))
+#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPageClass))
+#define LIBRARY_WINDOW_IS_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE))
+#define LIBRARY_WINDOW_IS_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE))
+#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPageClass))
+
+typedef struct _LibraryWindowFullscreenPhotoPage LibraryWindowFullscreenPhotoPage;
+typedef struct _LibraryWindowFullscreenPhotoPageClass LibraryWindowFullscreenPhotoPageClass;
+#define __g_slist_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_free0_ (var), NULL)))
+
+#define DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG (data_imports_ui_data_imports_dialog_get_type ())
+#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialog))
+#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass))
+#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG))
+#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG))
+#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass))
+
+typedef struct _DataImportsUIDataImportsDialog DataImportsUIDataImportsDialog;
+typedef struct _DataImportsUIDataImportsDialogClass DataImportsUIDataImportsDialogClass;
+
+#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
+#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+
+typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
+typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;
+
+#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
+#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
+#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
+#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
+#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+
+typedef struct _VideoSourceCollection VideoSourceCollection;
+typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
+#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
+#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
+#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
+#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+
+typedef struct _SavedSearchDialog SavedSearchDialog;
+typedef struct _SavedSearchDialogClass SavedSearchDialogClass;
+#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL)))
+
+#define TYPE_BATCH_IMPORT (batch_import_get_type ())
+#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
+#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
+#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
+#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
+#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))
+
+typedef struct _BatchImport BatchImport;
+typedef struct _BatchImportClass BatchImportClass;
+
+#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
+#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+
+typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
+typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;
+
+#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ())
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry))
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
+#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
+#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
+#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
+
+typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry;
+typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass;
+
+#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
+#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
+#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
+#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
+#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
+#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))
+
+typedef struct _ImportManifest ImportManifest;
+typedef struct _ImportManifestClass ImportManifestClass;
+
+#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ())
+#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams))
+#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))
+#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS))
+#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS))
+#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))
+
+typedef struct _ImportUIQuestionParams ImportUIQuestionParams;
+typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass;
+
+#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ())
+#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob))
+#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
+#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB))
+#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB))
+#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
+
+typedef struct _BatchImportJob BatchImportJob;
+typedef struct _BatchImportJobClass BatchImportJobClass;
+
+#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ())
+#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob))
+#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
+#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB))
+#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB))
+#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
+
+typedef struct _FileImportJob FileImportJob;
+typedef struct _FileImportJobClass FileImportJobClass;
+#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL)))
+
+#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
+#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
+#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
+#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
+#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
+#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
+
+typedef struct _BatchImportRoll BatchImportRoll;
+typedef struct _BatchImportRollClass BatchImportRollClass;
+
+#define CAMERA_TYPE_SIDEBAR_ENTRY (camera_sidebar_entry_get_type ())
+#define CAMERA_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry))
+#define CAMERA_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass))
+#define CAMERA_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_SIDEBAR_ENTRY))
+#define CAMERA_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_SIDEBAR_ENTRY))
+#define CAMERA_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass))
+
+typedef struct _CameraSidebarEntry CameraSidebarEntry;
+typedef struct _CameraSidebarEntryClass CameraSidebarEntryClass;
+
+#define TYPE_IMPORT_PAGE (import_page_get_type ())
+#define IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PAGE, ImportPage))
+#define IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PAGE, ImportPageClass))
+#define IS_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PAGE))
+#define IS_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PAGE))
+#define IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PAGE, ImportPageClass))
+
+typedef struct _ImportPage ImportPage;
+typedef struct _ImportPageClass ImportPageClass;
+typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate;
+
+#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ())
+#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry))
+#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY))
+#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface))
+
+typedef struct _SidebarExpandableEntry SidebarExpandableEntry;
+typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))
+
+#define TYPE_DISABLED_VIEW_FILTER (disabled_view_filter_get_type ())
+#define DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter))
+#define DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))
+#define IS_DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISABLED_VIEW_FILTER))
+#define IS_DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISABLED_VIEW_FILTER))
+#define DISABLED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))
+
+typedef struct _DisabledViewFilter DisabledViewFilter;
+typedef struct _DisabledViewFilterClass DisabledViewFilterClass;
+
+#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ())
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry))
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
+#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
+#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
+#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
+
+typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry;
+typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass;
+
+#define EVENTS_TYPE_DIRECTORY_ENTRY (events_directory_entry_get_type ())
+#define EVENTS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry))
+#define EVENTS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))
+#define EVENTS_IS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_DIRECTORY_ENTRY))
+#define EVENTS_IS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_DIRECTORY_ENTRY))
+#define EVENTS_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))
+
+typedef struct _EventsDirectoryEntry EventsDirectoryEntry;
+typedef struct _EventsDirectoryEntryClass EventsDirectoryEntryClass;
+
+#define EVENTS_TYPE_MASTER_DIRECTORY_ENTRY (events_master_directory_entry_get_type ())
+#define EVENTS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry))
+#define EVENTS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))
+#define EVENTS_IS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
+#define EVENTS_IS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
+#define EVENTS_MASTER_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))
+
+typedef struct _EventsMasterDirectoryEntry EventsMasterDirectoryEntry;
+typedef struct _EventsMasterDirectoryEntryClass EventsMasterDirectoryEntryClass;
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate;
+
+#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ())
+#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer))
+#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass))
+#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER))
+#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER))
+#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass))
+
+typedef struct _ZoomBuffer ZoomBuffer;
+typedef struct _ZoomBufferClass ZoomBufferClass;
+
+#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ())
+typedef struct _EditingHostPagePrivate EditingHostPagePrivate;
+typedef struct _LibraryPhotoPagePrivate LibraryPhotoPagePrivate;
+
+#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
+typedef struct _LibraryWindowFullscreenPhotoPagePrivate LibraryWindowFullscreenPhotoPagePrivate;
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+struct _PageWindow {
+ GtkWindow parent_instance;
+ PageWindowPrivate * priv;
+ GtkUIManager* ui;
+};
+
+struct _PageWindowClass {
+ GtkWindowClass parent_class;
+ void (*switched_pages) (PageWindow* self, Page* old_page, Page* new_page);
+ void (*set_current_page) (PageWindow* self, Page* page);
+ void (*clear_current_page) (PageWindow* self);
+};
+
+struct _Dimensions {
+ gint width;
+ gint height;
+};
+
+struct _AppWindow {
+ PageWindow parent_instance;
+ AppWindowPrivate * priv;
+ GtkActionGroup** common_action_groups;
+ gint common_action_groups_length1;
+ gboolean maximized;
+ Dimensions dimensions;
+ gint pos_x;
+ gint pos_y;
+};
+
+struct _AppWindowClass {
+ PageWindowClass parent_class;
+ void (*on_fullscreen) (AppWindow* self);
+ gchar* (*get_app_role) (AppWindow* self);
+ void (*on_quit) (AppWindow* self);
+ GtkActionGroup** (*create_common_action_groups) (AppWindow* self, int* result_length1);
+ void (*replace_common_placeholders) (AppWindow* self, GtkUIManager* ui);
+ void (*update_common_action_availability) (AppWindow* self, Page* old_page, Page* new_page);
+ void (*update_common_actions) (AppWindow* self, Page* page, gint selected_count, gint count);
+};
+
+struct _LibraryWindow {
+ AppWindow parent_instance;
+ LibraryWindowPrivate * priv;
+};
+
+struct _LibraryWindowClass {
+ AppWindowClass parent_class;
+};
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+struct _LibraryWindowPrivate {
+ gchar* import_dir;
+ GtkPaned* sidebar_paned;
+ GtkPaned* client_paned;
+ GtkFrame* bottom_frame;
+ GtkActionGroup* common_action_group;
+ OneShotScheduler* properties_scheduler;
+ gboolean notify_library_is_home_dir;
+ SidebarTree* sidebar_tree;
+ LibraryBranch* library_branch;
+ TagsBranch* tags_branch;
+ FoldersBranch* folders_branch;
+ EventsBranch* events_branch;
+ CameraBranch* camera_branch;
+ SearchesBranch* saved_search_branch;
+ gboolean page_switching_enabled;
+ GeeHashMap* page_map;
+ LibraryPhotoPage* photo_page;
+ gboolean is_search_toolbar_visible;
+ SearchFilterActions* search_actions;
+ SearchFilterToolbar* search_toolbar;
+ GtkBox* top_section;
+ GtkFrame* background_progress_frame;
+ GtkProgressBar* background_progress_bar;
+ gboolean background_progress_displayed;
+ BasicProperties* basic_properties;
+ ExtendedPropertiesWindow* extended_properties;
+ GtkStack* stack;
+ GtkBox* layout;
+ GtkBox* right_vbox;
+ gint current_progress_priority;
+ guint background_progress_pulse_id;
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+typedef enum {
+ LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY,
+ LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS,
+ LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH,
+ LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS,
+ LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS,
+ LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS
+} LibraryWindowSidebarRootPosition;
+
+typedef enum {
+ LIBRARY_WINDOW_TARGET_TYPE_URI_LIST,
+ LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST,
+ LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH
+} LibraryWindowTargetType;
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+typedef void (*SidebarTreeExternalDropHandler) (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, void* user_data);
+typedef void (*OneShotCallback) (void* user_data);
+typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data);
+struct _DiscoveredCamera {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ DiscoveredCameraPrivate * priv;
+ Camera* gcamera;
+ gchar* uri;
+ gchar* display_name;
+ gchar* icon;
+};
+
+struct _DiscoveredCameraClass {
+ GTypeClass parent_class;
+ void (*finalize) (DiscoveredCamera *self);
+};
+
+struct _SidebarExpandableEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*expand_on_select) (SidebarExpandableEntry* self);
+};
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF,
+ SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT,
+ SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS
+} SinglePhotoPageUpdateReason;
+
+struct _SinglePhotoPage {
+ Page parent_instance;
+ SinglePhotoPagePrivate * priv;
+ GtkDrawingArea* canvas;
+ GtkViewport* viewport;
+};
+
+struct _SinglePhotoPageClass {
+ PageClass parent_class;
+ gboolean (*is_zoom_supported) (SinglePhotoPage* self);
+ void (*cancel_zoom) (SinglePhotoPage* self);
+ void (*save_zoom_state) (SinglePhotoPage* self);
+ void (*restore_zoom_state) (SinglePhotoPage* self);
+ ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self);
+ void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
+ void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim);
+ void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
+ void (*on_previous_photo) (SinglePhotoPage* self);
+ void (*on_next_photo) (SinglePhotoPage* self);
+};
+
+struct _EditingHostPage {
+ SinglePhotoPage parent_instance;
+ EditingHostPagePrivate * priv;
+};
+
+struct _EditingHostPageClass {
+ SinglePhotoPageClass parent_class;
+ gboolean (*on_zoom_slider_key_press) (EditingHostPage* self, GdkEventKey* event);
+ void (*on_increase_size) (EditingHostPage* self);
+ void (*on_decrease_size) (EditingHostPage* self);
+ void (*photo_changing) (EditingHostPage* self, Photo* new_photo);
+ DataView* (*create_photo_view) (EditingHostPage* self, DataSource* source);
+ void (*update_ui) (EditingHostPage* self, gboolean missing);
+ void (*notify_photo_backing_missing) (EditingHostPage* self, Photo* photo, gboolean missing);
+ gboolean (*confirm_replace_photo) (EditingHostPage* self, Photo* old_photo, Photo* new_photo);
+ gboolean (*on_double_click) (EditingHostPage* self, GdkEventButton* event);
+ GdkPixbuf* (*get_bottom_left_trinket) (EditingHostPage* self, gint scale);
+ GdkPixbuf* (*get_top_left_trinket) (EditingHostPage* self, gint scale);
+ GdkPixbuf* (*get_top_right_trinket) (EditingHostPage* self, gint scale);
+ GdkPixbuf* (*get_bottom_right_trinket) (EditingHostPage* self, gint scale);
+};
+
+typedef enum {
+ RAW_DEVELOPER_SHOTWELL = 0,
+ RAW_DEVELOPER_CAMERA,
+ RAW_DEVELOPER_EMBEDDED
+} RawDeveloper;
+
+struct _LibraryPhotoPage {
+ EditingHostPage parent_instance;
+ LibraryPhotoPagePrivate * priv;
+};
+
+struct _LibraryPhotoPageClass {
+ EditingHostPageClass parent_class;
+ void (*developer_changed) (LibraryPhotoPage* self, RawDeveloper rd);
+};
+
+struct _LibraryWindowFullscreenPhotoPage {
+ LibraryPhotoPage parent_instance;
+ LibraryWindowFullscreenPhotoPagePrivate * priv;
+};
+
+struct _LibraryWindowFullscreenPhotoPageClass {
+ LibraryPhotoPageClass parent_class;
+};
+
+struct _LibraryWindowFullscreenPhotoPagePrivate {
+ CollectionPage* collection;
+ Photo* start;
+ ViewCollection* view;
+};
+
+
+static gpointer library_window_parent_class = NULL;
+static GeeHashSet* library_window_initial_camera_uris;
+static GeeHashSet* library_window_initial_camera_uris = NULL;
+extern AppWindow* app_window_instance;
+extern LibraryPhotoSourceCollection* library_photo_global;
+extern VideoSourceCollection* video_global;
+static gpointer library_window_fullscreen_photo_page_parent_class = NULL;
+
+GType page_window_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType app_window_get_type (void) G_GNUC_CONST;
+GType dimensions_get_type (void) G_GNUC_CONST;
+Dimensions* dimensions_dup (const Dimensions* self);
+void dimensions_free (Dimensions* self);
+GType library_window_get_type (void) G_GNUC_CONST;
+gpointer one_shot_scheduler_ref (gpointer instance);
+void one_shot_scheduler_unref (gpointer instance);
+GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_one_shot_scheduler (GValue* value, gpointer v_object);
+void value_take_one_shot_scheduler (GValue* value, gpointer v_object);
+gpointer value_get_one_shot_scheduler (const GValue* value);
+GType one_shot_scheduler_get_type (void) G_GNUC_CONST;
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_branch_get_type (void) G_GNUC_CONST;
+GType library_branch_get_type (void) G_GNUC_CONST;
+GType tags_branch_get_type (void) G_GNUC_CONST;
+GType folders_branch_get_type (void) G_GNUC_CONST;
+GType events_branch_get_type (void) G_GNUC_CONST;
+GType camera_branch_get_type (void) G_GNUC_CONST;
+GType searches_branch_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType single_photo_page_get_type (void) G_GNUC_CONST;
+GType editing_host_page_get_type (void) G_GNUC_CONST;
+GType library_photo_page_get_type (void) G_GNUC_CONST;
+gpointer search_filter_actions_ref (gpointer instance);
+void search_filter_actions_unref (gpointer instance);
+GParamSpec* param_spec_search_filter_actions (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_search_filter_actions (GValue* value, gpointer v_object);
+void value_take_search_filter_actions (GValue* value, gpointer v_object);
+gpointer value_get_search_filter_actions (const GValue* value);
+GType search_filter_actions_get_type (void) G_GNUC_CONST;
+GType search_filter_toolbar_get_type (void) G_GNUC_CONST;
+GType properties_get_type (void) G_GNUC_CONST;
+GType basic_properties_get_type (void) G_GNUC_CONST;
+GType extended_properties_window_get_type (void) G_GNUC_CONST;
+#define LIBRARY_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_WINDOW, LibraryWindowPrivate))
+enum {
+ LIBRARY_WINDOW_DUMMY_PROPERTY
+};
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+static void library_window_on_page_created (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page);
+static void _library_window_on_page_created_sidebar_tree_page_created (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self);
+static void library_window_on_destroying_page (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page);
+static void _library_window_on_destroying_page_sidebar_tree_destroying_page (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self);
+static void library_window_on_sidebar_entry_selected (LibraryWindow* self, SidebarSelectableEntry* selectable);
+static void _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected (SidebarTree* _sender, SidebarSelectableEntry* selectable, gpointer self);
+static void library_window_on_sidebar_selected_entry_removed (LibraryWindow* self, SidebarSelectableEntry* selectable);
+static void _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed (SidebarTree* _sender, SidebarSelectableEntry* removed, gpointer self);
+static void library_window_unsubscribe_from_basic_information (LibraryWindow* self, Page* page);
+Page* page_window_get_current_page (PageWindow* self);
+static void library_window_hide_extended_properties (LibraryWindow* self);
+static void _library_window_hide_extended_properties_gtk_widget_hide (GtkWidget* _sender, gpointer self);
+static void library_window_show_extended_properties (LibraryWindow* self);
+static void _library_window_show_extended_properties_gtk_widget_show (GtkWidget* _sender, gpointer self);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+static void library_window_on_trashcan_contents_altered (LibraryWindow* self);
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+static void _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self);
+static void library_window_on_media_altered (LibraryWindow* self);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+static void _library_window_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
+GType metadata_writer_get_type (void) G_GNUC_CONST;
+MetadataWriter* metadata_writer_get_instance (void);
+static void library_window_on_metadata_writer_progress (LibraryWindow* self, guint completed, guint total);
+static void _library_window_on_metadata_writer_progress_metadata_writer_progress (MetadataWriter* _sender, guint completed, guint total, gpointer self);
+GType directory_monitor_get_type (void) G_GNUC_CONST;
+GType library_monitor_get_type (void) G_GNUC_CONST;
+gpointer library_monitor_pool_ref (gpointer instance);
+void library_monitor_pool_unref (gpointer instance);
+GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_library_monitor_pool (GValue* value, gpointer v_object);
+void value_take_library_monitor_pool (GValue* value, gpointer v_object);
+gpointer value_get_library_monitor_pool (const GValue* value);
+GType library_monitor_pool_get_type (void) G_GNUC_CONST;
+LibraryMonitorPool* library_monitor_pool_get_instance (void);
+LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self);
+static void library_window_on_library_monitor_destroyed (LibraryWindow* self, LibraryMonitor* monitor);
+static void library_window_on_library_monitor_installed (LibraryWindow* self, LibraryMonitor* monitor);
+static void _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self);
+static void _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self);
+gpointer camera_table_ref (gpointer instance);
+void camera_table_unref (gpointer instance);
+GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_camera_table (GValue* value, gpointer v_object);
+void value_take_camera_table (GValue* value, gpointer v_object);
+gpointer value_get_camera_table (const GValue* value);
+GType camera_table_get_type (void) G_GNUC_CONST;
+CameraTable* camera_table_get_instance (void);
+gpointer discovered_camera_ref (gpointer instance);
+void discovered_camera_unref (gpointer instance);
+GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_discovered_camera (GValue* value, gpointer v_object);
+void value_take_discovered_camera (GValue* value, gpointer v_object);
+gpointer value_get_discovered_camera (const GValue* value);
+GType discovered_camera_get_type (void) G_GNUC_CONST;
+static void library_window_on_camera_added (LibraryWindow* self, DiscoveredCamera* camera);
+static void _library_window_on_camera_added_camera_table_camera_added (CameraTable* _sender, DiscoveredCamera* camera, gpointer self);
+static GType library_window_sidebar_root_position_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType library_window_target_type_get_type (void) G_GNUC_CONST;
+LibraryBranch* library_branch_new (void);
+LibraryBranch* library_branch_construct (GType object_type);
+TagsBranch* tags_branch_new (void);
+TagsBranch* tags_branch_construct (GType object_type);
+FoldersBranch* folders_branch_new (void);
+FoldersBranch* folders_branch_construct (GType object_type);
+EventsBranch* events_branch_new (void);
+EventsBranch* events_branch_construct (GType object_type);
+CameraBranch* camera_branch_new (void);
+CameraBranch* camera_branch_construct (GType object_type);
+SearchesBranch* searches_branch_new (void);
+SearchesBranch* searches_branch_construct (GType object_type);
+SearchFilterActions* search_filter_actions_new (void);
+SearchFilterActions* search_filter_actions_construct (GType object_type);
+BasicProperties* basic_properties_new (void);
+BasicProperties* basic_properties_construct (GType object_type);
+#define LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH 120
+#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING 0
+#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING 1
+#define LIBRARY_WINDOW_BACKGROUND_PROGRESS_PULSE_MSEC 250
+#define LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES 20
+#define LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY 35
+#define LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY 40
+#define LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY 50
+#define LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY 30
+#define LIBRARY_WINDOW_TAG_PATH_MIME_TYPE "shotwell/tag-path"
+#define LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE "shotwell/media-id-atom"
+LibraryWindow* library_window_new (ProgressMonitor progress_monitor, void* progress_monitor_target);
+LibraryWindow* library_window_construct (GType object_type, ProgressMonitor progress_monitor, void* progress_monitor_target);
+AppWindow* app_window_construct (GType object_type);
+static void library_window_external_drop_handler (LibraryWindow* self, GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time);
+static void _library_window_external_drop_handler_sidebar_tree_external_drop_handler (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, gpointer self);
+SidebarTree* sidebar_tree_new (GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target);
+SidebarTree* sidebar_tree_construct (GType object_type, GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target);
+void sidebar_tree_graft (SidebarTree* self, SidebarBranch* branch, gint position);
+ExtendedPropertiesWindow* extended_properties_window_new (GtkWindow* owner);
+ExtendedPropertiesWindow* extended_properties_window_construct (GType object_type, GtkWindow* owner);
+static void library_window_on_update_properties_now (LibraryWindow* self);
+static void _library_window_on_update_properties_now_one_shot_callback (gpointer self);
+OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target);
+OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target);
+SearchFilterToolbar* search_filter_toolbar_new (SearchFilterActions* actions);
+SearchFilterToolbar* search_filter_toolbar_construct (GType object_type, SearchFilterActions* actions);
+GFile* resources_get_ui (const gchar* filename);
+static void library_window_create_layout (LibraryWindow* self, Page* start_page);
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType library_photos_entry_get_type (void) G_GNUC_CONST;
+LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self);
+Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self);
+static void library_window_load_configuration (LibraryWindow* self);
+GFile* directory_monitor_get_root (DirectoryMonitor* self);
+static void library_window_on_library_monitor_discovery_started (LibraryWindow* self);
+static void _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started (DirectoryMonitor* _sender, gpointer self);
+static void library_window_on_library_monitor_discovery_completed (LibraryWindow* self);
+static void _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self);
+static void _library_window_on_library_monitor_discovery_completed_directory_monitor_closed (DirectoryMonitor* _sender, gpointer self);
+static void library_window_on_library_monitor_auto_update_progress (LibraryWindow* self, gint completed_files, gint total_files);
+static void _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress (LibraryMonitor* _sender, gint completed_files, gint total_files, gpointer self);
+static void library_window_on_library_monitor_auto_import_preparing (LibraryWindow* self);
+static void _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing (LibraryMonitor* _sender, gpointer self);
+static void library_window_on_library_monitor_auto_import_progress (LibraryWindow* self, guint64 completed_bytes, guint64 total_bytes);
+static void _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress (LibraryMonitor* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self);
+static GtkActionEntry* library_window_create_common_actions (LibraryWindow* self, int* result_length1);
+#define RESOURCES_IMPORT "shotwell-import"
+#define TRANSLATABLE "translatable"
+static void library_window_on_file_import (LibraryWindow* self);
+static void _library_window_on_file_import_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add61 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void library_window_on_external_library_import (LibraryWindow* self);
+static void _library_window_on_external_library_import_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add62 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add63 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+#define RESOURCES_PREFERENCES_LABEL _ ("_Preferences")
+static void library_window_on_preferences (LibraryWindow* self);
+static void _library_window_on_preferences_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_PREFERENCES_MENU _ ("_Preferences")
+static void _vala_array_add64 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void library_window_on_empty_trash (LibraryWindow* self);
+static void _library_window_on_empty_trash_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add65 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void library_window_on_jump_to_event (LibraryWindow* self);
+static void _library_window_on_jump_to_event_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add66 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void library_window_on_find (LibraryWindow* self);
+static void _library_window_on_find_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add67 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+#define RESOURCES_FILTER_PHOTOS_MENU _ ("_Filter Photos")
+static void _vala_array_add68 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void library_window_on_new_search (LibraryWindow* self);
+static void _library_window_on_new_search_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add69 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add70 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add71 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add72 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add73 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add74 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add75 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add76 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add77 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static GtkToggleActionEntry* library_window_create_common_toggle_actions (LibraryWindow* self, int* result_length1);
+static void library_window_on_display_basic_properties (LibraryWindow* self, GtkAction* action);
+static void _library_window_on_display_basic_properties_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add78 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
+static void library_window_on_display_extended_properties (LibraryWindow* self, GtkAction* action);
+static void _library_window_on_display_extended_properties_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add79 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
+static void library_window_on_display_searchbar (LibraryWindow* self, GtkAction* action);
+static void _library_window_on_display_searchbar_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add80 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
+static void library_window_on_display_sidebar (LibraryWindow* self, GtkAction* action);
+static void _library_window_on_display_sidebar_gtk_action_callback (GtkAction* action, gpointer self);
+static gboolean library_window_is_sidebar_visible (LibraryWindow* self);
+static void _vala_array_add81 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
+static void library_window_on_display_toolbar (LibraryWindow* self, GtkAction* action);
+static void _library_window_on_display_toolbar_gtk_action_callback (GtkAction* action, gpointer self);
+static gboolean library_window_is_toolbar_visible (LibraryWindow* self);
+static void _vala_array_add82 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
+static void library_window_add_common_radio_actions (LibraryWindow* self, GtkActionGroup* group);
+#define RESOURCES_SORT_ASCENDING_LABEL _ ("Sort _Ascending")
+static void _vala_array_add83 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value);
+#define RESOURCES_SORT_DESCENDING_LABEL _ ("Sort _Descending")
+static void _vala_array_add84 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value);
+static void library_window_on_events_sort_changed (LibraryWindow* self, GtkAction* action, GtkAction* c);
+static void _library_window_on_events_sort_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self);
+static GtkActionGroup** library_window_real_create_common_action_groups (AppWindow* base, int* result_length1);
+GtkActionGroup** app_window_create_common_action_groups (AppWindow* self, int* result_length1);
+#define RESOURCES_FIND_LABEL _ ("Find")
+static void _vala_array_add85 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value);
+GtkActionGroup* search_filter_actions_get_action_group (SearchFilterActions* self);
+static void _vala_array_add86 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value);
+static void library_window_real_replace_common_placeholders (AppWindow* base, GtkUIManager* ui);
+void app_window_replace_common_placeholders (AppWindow* self, GtkUIManager* ui);
+static void library_window_real_switched_pages (PageWindow* base, Page* old_page, Page* new_page);
+void page_window_switched_pages (PageWindow* self, Page* old_page, Page* new_page);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+static void library_window_on_view_filter_installed (LibraryWindow* self, ViewFilter* filter);
+static void _library_window_on_view_filter_installed_view_collection_view_filter_installed (ViewCollection* _sender, ViewFilter* filer, gpointer self);
+static void library_window_on_view_filter_removed (LibraryWindow* self, ViewFilter* filter);
+static void _library_window_on_view_filter_removed_view_collection_view_filter_removed (ViewCollection* _sender, ViewFilter* filer, gpointer self);
+void search_filter_actions_monitor_page_contents (SearchFilterActions* self, Page* old_page, Page* new_page);
+static void library_window_on_view_filter_refreshed (LibraryWindow* self);
+static void _library_window_on_view_filter_refreshed_view_filter_refresh (ViewFilter* _sender, gpointer self);
+gboolean view_collection_are_items_filtered_out (ViewCollection* self);
+GtkAction* app_window_get_common_action (AppWindow* self, const gchar* name);
+static void library_window_real_show_all (GtkWidget* base);
+GtkAction* page_get_common_action (Page* self, const gchar* name, gboolean log_warning);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+static void library_window_init_view_filter (LibraryWindow* self, CheckerboardPage* page);
+static void library_window_toggle_search_bar (LibraryWindow* self, gboolean show, CheckerboardPage* page);
+static gboolean library_window_should_show_search_bar (LibraryWindow* self);
+static void library_window_set_sidebar_visible (LibraryWindow* self, gboolean visible);
+LibraryWindow* library_window_get_app (void);
+gboolean library_window_is_mount_uri_supported (const gchar* uri);
+static gchar* library_window_real_get_app_role (AppWindow* base);
+#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager")
+GType tag_get_type (void) G_GNUC_CONST;
+void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag);
+GType tags_sidebar_entry_get_type (void) G_GNUC_CONST;
+TagsSidebarEntry* tags_branch_get_entry_for_tag (TagsBranch* self, Tag* tag);
+gboolean sidebar_tree_rename_entry_in_place (SidebarTree* self, SidebarEntry* entry);
+GType event_source_get_type (void) G_GNUC_CONST;
+GType event_get_type (void) G_GNUC_CONST;
+void library_window_rename_event_in_sidebar (LibraryWindow* self, Event* event);
+GType events_event_entry_get_type (void) G_GNUC_CONST;
+EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self, Event* event);
+GType saved_search_get_type (void) G_GNUC_CONST;
+void library_window_rename_search_in_sidebar (LibraryWindow* self, SavedSearch* search);
+GType searches_sidebar_entry_get_type (void) G_GNUC_CONST;
+SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self, SavedSearch* search);
+static void library_window_real_on_quit (AppWindow* base);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+void configuration_facade_set_library_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions);
+void configuration_facade_set_sidebar_position (ConfigurationFacade* self, gint position);
+void app_window_on_quit (AppWindow* self);
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType photo_source_get_type (void) G_GNUC_CONST;
+GType photo_get_type (void) G_GNUC_CONST;
+static Photo* library_window_get_start_fullscreen_photo (LibraryWindow* self, CollectionPage* page);
+gint view_collection_get_selected_count (ViewCollection* self);
+GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t);
+GType library_photo_get_type (void) G_GNUC_CONST;
+GeeList* view_collection_get_sources_of_type (ViewCollection* self, GType t);
+static gboolean library_window_get_fullscreen_photo (LibraryWindow* self, Page* page, CollectionPage** collection, Photo** start, ViewCollection** view_collection);
+GType events_directory_page_get_type (void) G_GNUC_CONST;
+gint data_collection_get_count (DataCollection* self);
+DataObject* data_collection_get_at (DataCollection* self, gint index);
+GType data_view_get_type (void) G_GNUC_CONST;
+DataSource* data_view_get_source (DataView* self);
+GType event_page_get_type (void) G_GNUC_CONST;
+CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self);
+gboolean editing_host_page_has_photo (EditingHostPage* self);
+Photo* editing_host_page_get_photo (EditingHostPage* self);
+static void library_window_real_on_fullscreen (AppWindow* base);
+static GType library_window_fullscreen_photo_page_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_new (CollectionPage* collection, Photo* start, ViewCollection* view);
+static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_construct (GType object_type, CollectionPage* collection, Photo* start, ViewCollection* view);
+void app_window_go_fullscreen (AppWindow* self, Page* page);
+#define RESOURCES_CANCEL_LABEL _ ("_Cancel")
+#define RESOURCES_OK_LABEL _ ("_OK")
+gboolean app_dirs_is_in_import_dir (GFile* file);
+GtkResponseType copy_files_dialog (void);
+static void library_window_dispatch_import_jobs (LibraryWindow* self, GSList* uris, const gchar* job_name, gboolean copy_to_library);
+static void _g_free0_ (gpointer var);
+static void _g_slist_free__g_free0_ (GSList* self);
+GType data_imports_ui_data_imports_dialog_get_type (void) G_GNUC_CONST;
+DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_get_or_create_instance (void);
+static void library_window_real_update_common_action_availability (AppWindow* base, Page* old_page, Page* new_page);
+void app_window_update_common_action_availability (AppWindow* self, Page* old_page, Page* new_page);
+void app_window_set_common_action_sensitive (AppWindow* self, const gchar* name, gboolean sensitive);
+static void library_window_real_update_common_actions (AppWindow* base, Page* page, gint selected_count, gint count);
+static gboolean library_window_can_empty_trash (LibraryWindow* self);
+void app_window_set_common_action_visible (AppWindow* self, const gchar* name, gboolean visible);
+static gboolean library_window_can_jump_to_event (LibraryWindow* self);
+void app_window_update_common_actions (AppWindow* self, Page* page, gint selected_count, gint count);
+GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
+gint media_source_collection_get_trashcan_count (MediaSourceCollection* self);
+GType video_source_collection_get_type (void) G_GNUC_CONST;
+GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self);
+void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* app_window_get_command_manager (void);
+void command_manager_reset (CommandManager* self);
+SavedSearchDialog* saved_search_dialog_new (void);
+SavedSearchDialog* saved_search_dialog_construct (GType object_type);
+gpointer saved_search_dialog_ref (gpointer instance);
+void saved_search_dialog_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_dialog (GValue* value, gpointer v_object);
+void value_take_saved_search_dialog (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_dialog (const GValue* value);
+GType saved_search_dialog_get_type (void) G_GNUC_CONST;
+void saved_search_dialog_show (SavedSearchDialog* self);
+DataSource* view_collection_get_selected_source_at (ViewCollection* self, gint index);
+Event* media_source_get_event (MediaSource* self);
+void library_window_switch_to_event (LibraryWindow* self, Event* event);
+void search_filter_toolbar_take_focus (SearchFilterToolbar* self);
+static void library_window_on_clear_search (LibraryWindow* self);
+void search_filter_actions_reset (SearchFilterActions* self);
+gint library_window_get_events_sort (LibraryWindow* self);
+void configuration_facade_set_events_sort_ascending (ConfigurationFacade* self, gboolean sort);
+void preferences_dialog_show (void);
+void properties_update_properties (Properties* self, Page* page);
+void configuration_facade_set_display_basic_properties (ConfigurationFacade* self, gboolean display);
+void extended_properties_window_update_properties (ExtendedPropertiesWindow* self, Page* page);
+void configuration_facade_set_display_search_bar (ConfigurationFacade* self, gboolean display);
+void library_window_show_search_bar (LibraryWindow* self, gboolean display);
+void configuration_facade_set_display_sidebar (ConfigurationFacade* self, gboolean display);
+gboolean configuration_facade_get_display_sidebar (ConfigurationFacade* self);
+static void library_window_set_toolbar_visible (LibraryWindow* self, gboolean visible);
+GtkToolbar* page_get_toolbar (Page* self);
+void configuration_facade_set_display_toolbar (ConfigurationFacade* self, gboolean display);
+gboolean configuration_facade_get_display_toolbar (ConfigurationFacade* self);
+static void library_window_sync_extended_properties (LibraryWindow* self, gboolean show);
+void configuration_facade_set_display_extended_properties (ConfigurationFacade* self, gboolean display);
+GType batch_import_get_type (void) G_GNUC_CONST;
+void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel);
+GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
+GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST;
+LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self);
+void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self, BatchImport* batch_import, gboolean allow_user_cancel);
+gpointer import_manifest_ref (gpointer instance);
+void import_manifest_unref (gpointer instance);
+GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_import_manifest (GValue* value, gpointer v_object);
+void value_take_import_manifest (GValue* value, gpointer v_object);
+gpointer value_get_import_manifest (const GValue* value);
+GType import_manifest_get_type (void) G_GNUC_CONST;
+static void library_window_import_reporter (LibraryWindow* self, ImportManifest* manifest);
+gpointer import_ui_question_params_ref (gpointer instance);
+void import_ui_question_params_unref (gpointer instance);
+GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void import_ui_value_set_question_params (GValue* value, gpointer v_object);
+void import_ui_value_take_question_params (GValue* value, gpointer v_object);
+gpointer import_ui_value_get_question_params (const GValue* value);
+GType import_ui_question_params_get_type (void) G_GNUC_CONST;
+gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question);
+GFile* app_dirs_get_import_dir (void);
+GtkResponseType app_window_affirm_cancel_question (const gchar* message, const gchar* affirmative, const gchar* title, GtkWindow* parent);
+AppWindow* app_window_get_instance (void);
+gpointer batch_import_job_ref (gpointer instance);
+void batch_import_job_unref (gpointer instance);
+GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_batch_import_job (GValue* value, gpointer v_object);
+void value_take_batch_import_job (GValue* value, gpointer v_object);
+gpointer value_get_batch_import_job (const GValue* value);
+GType batch_import_job_get_type (void) G_GNUC_CONST;
+GType file_import_job_get_type (void) G_GNUC_CONST;
+void app_window_error_message (const gchar* message, GtkWindow* parent);
+FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library);
+FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library);
+gpointer batch_import_roll_ref (gpointer instance);
+void batch_import_roll_unref (gpointer instance);
+GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_batch_import_roll (GValue* value, gpointer v_object);
+void value_take_batch_import_roll (GValue* value, gpointer v_object);
+gpointer value_get_batch_import_roll (const GValue* value);
+GType batch_import_roll_get_type (void) G_GNUC_CONST;
+static void _library_window_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self);
+BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest);
+BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest);
+void library_window_switch_to_import_queue_page (LibraryWindow* self);
+static GdkDragAction library_window_get_drag_action (LibraryWindow* self);
+static gboolean library_window_real_drag_motion (GtkWidget* base, GdkDragContext* context, gint x, gint y, guint time);
+static void library_window_real_drag_data_received (GtkWidget* base, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time);
+void library_window_switch_to_library_page (LibraryWindow* self);
+void library_window_switch_to_page (LibraryWindow* self, Page* page);
+void library_window_switch_to_tag (LibraryWindow* self, Tag* tag);
+void library_window_switch_to_saved_search (LibraryWindow* self, SavedSearch* search);
+void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current);
+DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source);
+LibraryPhotoPage* library_photo_page_new (void);
+LibraryPhotoPage* library_photo_page_construct (GType object_type);
+void library_window_add_to_stack (LibraryWindow* self, Page* page);
+void spin_event_loop (void);
+void library_photo_page_display_for_collection (LibraryPhotoPage* self, CollectionPage* return_page, Photo* photo, ViewCollection* view);
+GType camera_sidebar_entry_get_type (void) G_GNUC_CONST;
+CameraSidebarEntry* camera_branch_get_entry_for_camera (CameraBranch* self, DiscoveredCamera* camera);
+GType import_page_get_type (void) G_GNUC_CONST;
+gboolean import_page_unmount_camera (ImportPage* self, GMount* mount);
+static void library_window_remove_from_stack (LibraryWindow* self, Page* page);
+gboolean configuration_facade_get_display_basic_properties (ConfigurationFacade* self);
+gboolean configuration_facade_get_display_extended_properties (ConfigurationFacade* self);
+gboolean configuration_facade_get_display_search_bar (ConfigurationFacade* self);
+gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self);
+static void library_window_start_pulse_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority);
+static void library_window_stop_pulse_background_progress_bar (LibraryWindow* self, gint priority, gboolean clear);
+static void library_window_show_background_progress_bar (LibraryWindow* self);
+static gboolean library_window_on_pulse_background_progress_bar (LibraryWindow* self);
+static gboolean _library_window_on_pulse_background_progress_bar_gsource_func (gpointer self);
+static void library_window_clear_background_progress_bar (LibraryWindow* self, gint priority);
+static void library_window_update_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority, gdouble count, gdouble total);
+static void library_window_hide_background_progress_bar (LibraryWindow* self);
+gint configuration_facade_get_sidebar_position (ConfigurationFacade* self);
+gint library_window_get_PAGE_MIN_WIDTH (void);
+static void library_window_real_set_current_page (PageWindow* base, Page* page);
+void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable);
+void page_switching_from (Page* self);
+void sidebar_tree_enable_editing (SidebarTree* self);
+void page_window_set_current_page (PageWindow* self, Page* page);
+void sidebar_tree_disable_editing (SidebarTree* self);
+GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST;
+gboolean sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self);
+gboolean sidebar_tree_expand_to_entry (SidebarTree* self, SidebarEntry* entry);
+gboolean sidebar_tree_place_cursor (SidebarTree* self, SidebarEntry* entry, gboolean mask_signal);
+static void library_window_on_update_properties (LibraryWindow* self);
+static void library_window_subscribe_for_basic_information (LibraryWindow* self, Page* page);
+void page_switched_to (Page* self);
+void page_ready (Page* self);
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+void search_filter_toolbar_set_view_filter (SearchFilterToolbar* self, SearchViewFilter* search_filter);
+SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self);
+void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f);
+DisabledViewFilter* disabled_view_filter_new (void);
+DisabledViewFilter* disabled_view_filter_construct (GType object_type);
+GType disabled_view_filter_get_type (void) G_GNUC_CONST;
+GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST;
+LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self);
+gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self);
+gboolean sidebar_branch_get_show_branch (SidebarBranch* self);
+GType events_directory_entry_get_type (void) G_GNUC_CONST;
+GType events_master_directory_entry_get_type (void) G_GNUC_CONST;
+EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self);
+static void _library_window_on_update_properties_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self);
+static void _library_window_on_update_properties_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
+static void _library_window_on_update_properties_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self);
+static void _library_window_on_update_properties_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self);
+void one_shot_scheduler_at_idle (OneShotScheduler* self);
+void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup);
+gchar* camera_table_get_port_uri (const gchar* port);
+gboolean is_string_empty (const gchar* s);
+static gboolean library_window_real_key_press_event (GtkWidget* base, GdkEventKey* event);
+gboolean sidebar_tree_is_keypress_interpreted (SidebarTree* self, GdkEventKey* event);
+gint thumbnail_get_MAX_SCALE (void);
+#define CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING 24
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType zoom_buffer_get_type (void) G_GNUC_CONST;
+GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST;
+GType raw_developer_get_type (void) G_GNUC_CONST;
+#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPagePrivate))
+enum {
+ LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_DUMMY_PROPERTY
+};
+static void library_window_fullscreen_photo_page_real_switched_to (Page* base);
+static void library_window_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+static void library_window_fullscreen_photo_page_finalize (GObject* obj);
+static void library_window_finalize (GObject* obj);
+static void _vala_library_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+static const gchar* LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES[3] = {"gphoto2:", "disk:", "file:"};
+const GtkTargetEntry LIBRARY_WINDOW_DND_TARGET_ENTRIES[3] = {{"text/uri-list", (guint) GTK_TARGET_OTHER_APP, (guint) LIBRARY_WINDOW_TARGET_TYPE_URI_LIST}, {LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE, (guint) GTK_TARGET_SAME_APP, (guint) LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST}, {LIBRARY_WINDOW_TAG_PATH_MIME_TYPE, (guint) GTK_TARGET_SAME_WIDGET, (guint) LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH}};
+
+static void _library_window_on_page_created_sidebar_tree_page_created (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self) {
+#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_page_created ((LibraryWindow*) self, entry, page);
+#line 1775 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_destroying_page_sidebar_tree_destroying_page (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self) {
+#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_destroying_page ((LibraryWindow*) self, entry, page);
+#line 1782 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected (SidebarTree* _sender, SidebarSelectableEntry* selectable, gpointer self) {
+#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_sidebar_entry_selected ((LibraryWindow*) self, selectable);
+#line 1789 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed (SidebarTree* _sender, SidebarSelectableEntry* removed, gpointer self) {
+#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_sidebar_selected_entry_removed ((LibraryWindow*) self, removed);
+#line 1796 "LibraryWindow.c"
+}
+
+
+static void _library_window_hide_extended_properties_gtk_widget_hide (GtkWidget* _sender, gpointer self) {
+#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_hide_extended_properties ((LibraryWindow*) self);
+#line 1803 "LibraryWindow.c"
+}
+
+
+static void _library_window_show_extended_properties_gtk_widget_show (GtkWidget* _sender, gpointer self) {
+#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_show_extended_properties ((LibraryWindow*) self);
+#line 1810 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) {
+#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_trashcan_contents_altered ((LibraryWindow*) self);
+#line 1817 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
+#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_media_altered ((LibraryWindow*) self);
+#line 1824 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_metadata_writer_progress_metadata_writer_progress (MetadataWriter* _sender, guint completed, guint total, gpointer self) {
+#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_metadata_writer_progress ((LibraryWindow*) self, completed, total);
+#line 1831 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self) {
+#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_installed ((LibraryWindow*) self, monitor);
+#line 1838 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self) {
+#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_destroyed ((LibraryWindow*) self, monitor);
+#line 1845 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_camera_added_camera_table_camera_added (CameraTable* _sender, DiscoveredCamera* camera, gpointer self) {
+#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_camera_added ((LibraryWindow*) self, camera);
+#line 1852 "LibraryWindow.c"
+}
+
+
+static GType library_window_sidebar_root_position_get_type (void) {
+ static volatile gsize library_window_sidebar_root_position_type_id__volatile = 0;
+ if (g_once_init_enter (&library_window_sidebar_root_position_type_id__volatile)) {
+ static const GEnumValue values[] = {{LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY", "library"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS", "cameras"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH", "saved-search"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS", "events"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS", "folders"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS", "tags"}, {0, NULL, NULL}};
+ GType library_window_sidebar_root_position_type_id;
+ library_window_sidebar_root_position_type_id = g_enum_register_static ("LibraryWindowSidebarRootPosition", values);
+ g_once_init_leave (&library_window_sidebar_root_position_type_id__volatile, library_window_sidebar_root_position_type_id);
+ }
+ return library_window_sidebar_root_position_type_id__volatile;
+}
+
+
+GType library_window_target_type_get_type (void) {
+ static volatile gsize library_window_target_type_type_id__volatile = 0;
+ if (g_once_init_enter (&library_window_target_type_type_id__volatile)) {
+ static const GEnumValue values[] = {{LIBRARY_WINDOW_TARGET_TYPE_URI_LIST, "LIBRARY_WINDOW_TARGET_TYPE_URI_LIST", "uri-list"}, {LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST, "LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST", "media-list"}, {LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH, "LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH", "tag-path"}, {0, NULL, NULL}};
+ GType library_window_target_type_type_id;
+ library_window_target_type_type_id = g_enum_register_static ("LibraryWindowTargetType", values);
+ g_once_init_leave (&library_window_target_type_type_id__volatile, library_window_target_type_type_id);
+ }
+ return library_window_target_type_type_id__volatile;
+}
+
+
+static void _library_window_external_drop_handler_sidebar_tree_external_drop_handler (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, gpointer self) {
+#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_external_drop_handler ((LibraryWindow*) self, context, entry, data, info, time);
+#line 1883 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_update_properties_now_one_shot_callback (gpointer self) {
+#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_update_properties_now ((LibraryWindow*) self);
+#line 1890 "LibraryWindow.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1897 "LibraryWindow.c"
+}
+
+
+LibraryWindow* library_window_construct (GType object_type, ProgressMonitor progress_monitor, void* progress_monitor_target) {
+ LibraryWindow * self = NULL;
+ SidebarTree* _tmp0_ = NULL;
+ SidebarTree* _tmp1_ = NULL;
+ SidebarTree* _tmp2_ = NULL;
+ SidebarTree* _tmp3_ = NULL;
+ SidebarTree* _tmp4_ = NULL;
+ SidebarTree* _tmp5_ = NULL;
+ LibraryBranch* _tmp6_ = NULL;
+ SidebarTree* _tmp7_ = NULL;
+ TagsBranch* _tmp8_ = NULL;
+ SidebarTree* _tmp9_ = NULL;
+ FoldersBranch* _tmp10_ = NULL;
+ SidebarTree* _tmp11_ = NULL;
+ EventsBranch* _tmp12_ = NULL;
+ SidebarTree* _tmp13_ = NULL;
+ CameraBranch* _tmp14_ = NULL;
+ SidebarTree* _tmp15_ = NULL;
+ SearchesBranch* _tmp16_ = NULL;
+ ExtendedPropertiesWindow* _tmp17_ = NULL;
+ ExtendedPropertiesWindow* _tmp18_ = NULL;
+ ExtendedPropertiesWindow* _tmp19_ = NULL;
+ OneShotScheduler* _tmp20_ = NULL;
+ SearchFilterActions* _tmp21_ = NULL;
+ SearchFilterToolbar* _tmp22_ = NULL;
+ GtkMenuBar* menubar = NULL;
+ GtkUIManager* _tmp28_ = NULL;
+ GtkWidget* _tmp29_ = NULL;
+ GtkMenuBar* _tmp30_ = NULL;
+ GtkBox* _tmp31_ = NULL;
+ GtkMenuBar* _tmp32_ = NULL;
+ GtkMenuBar* _tmp33_ = NULL;
+ LibraryBranch* _tmp34_ = NULL;
+ LibraryPhotosEntry* _tmp35_ = NULL;
+ LibraryPhotosEntry* _tmp36_ = NULL;
+ Page* _tmp37_ = NULL;
+ Page* _tmp38_ = NULL;
+ GtkTargetEntry* main_window_dnd_targets = NULL;
+ GtkTargetEntry _tmp51_ = {0};
+ GtkTargetEntry _tmp52_ = {0};
+ GtkTargetEntry* _tmp53_ = NULL;
+ gint main_window_dnd_targets_length1 = 0;
+ gint _main_window_dnd_targets_size_ = 0;
+ GtkTargetEntry* _tmp54_ = NULL;
+ gint _tmp54__length1 = 0;
+ MetadataWriter* _tmp55_ = NULL;
+ MetadataWriter* _tmp56_ = NULL;
+ LibraryMonitor* monitor = NULL;
+ LibraryMonitorPool* _tmp57_ = NULL;
+ LibraryMonitorPool* _tmp58_ = NULL;
+ LibraryMonitor* _tmp59_ = NULL;
+ LibraryMonitor* _tmp60_ = NULL;
+ LibraryMonitor* _tmp61_ = NULL;
+ LibraryMonitorPool* _tmp63_ = NULL;
+ LibraryMonitorPool* _tmp64_ = NULL;
+ LibraryMonitorPool* _tmp65_ = NULL;
+ LibraryMonitorPool* _tmp66_ = NULL;
+ CameraTable* _tmp67_ = NULL;
+ CameraTable* _tmp68_ = NULL;
+ GtkProgressBar* _tmp69_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = (LibraryWindow*) app_window_construct (object_type);
+#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = sidebar_tree_new (LIBRARY_WINDOW_DND_TARGET_ENTRIES, G_N_ELEMENTS (LIBRARY_WINDOW_DND_TARGET_ENTRIES), GDK_ACTION_ASK, _library_window_external_drop_handler_sidebar_tree_external_drop_handler, self);
+#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp0_);
+#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->sidebar_tree);
+#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->sidebar_tree = _tmp0_;
+#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->sidebar_tree;
+#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp1_, "page-created", (GCallback) _library_window_on_page_created_sidebar_tree_page_created, self, 0);
+#line 157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->sidebar_tree;
+#line 157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp2_, "destroying-page", (GCallback) _library_window_on_destroying_page_sidebar_tree_destroying_page, self, 0);
+#line 158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->sidebar_tree;
+#line 158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp3_, "entry-selected", (GCallback) _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected, self, 0);
+#line 159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->sidebar_tree;
+#line 159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp4_, "selected-entry-removed", (GCallback) _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed, self, 0);
+#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = self->priv->sidebar_tree;
+#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->library_branch;
+#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_graft (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY);
+#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = self->priv->sidebar_tree;
+#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = self->priv->tags_branch;
+#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_graft (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS);
+#line 163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = self->priv->sidebar_tree;
+#line 163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = self->priv->folders_branch;
+#line 163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_graft (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS);
+#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = self->priv->sidebar_tree;
+#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = self->priv->events_branch;
+#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_graft (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS);
+#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = self->priv->sidebar_tree;
+#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = self->priv->camera_branch;
+#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_graft (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS);
+#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = self->priv->sidebar_tree;
+#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = self->priv->saved_search_branch;
+#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_graft (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH);
+#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = extended_properties_window_new (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow));
+#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp17_);
+#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->extended_properties);
+#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->extended_properties = _tmp17_;
+#line 170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = self->priv->extended_properties;
+#line 170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), "hide", (GCallback) _library_window_hide_extended_properties_gtk_widget_hide, self, 0);
+#line 171 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = self->priv->extended_properties;
+#line 171 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), "show", (GCallback) _library_window_show_extended_properties_gtk_widget_show, self, 0);
+#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = one_shot_scheduler_new ("LibraryWindow properties", _library_window_on_update_properties_now_one_shot_callback, self);
+#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _one_shot_scheduler_unref0 (self->priv->properties_scheduler);
+#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->properties_scheduler = _tmp20_;
+#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = self->priv->search_actions;
+#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = search_filter_toolbar_new (_tmp21_);
+#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp22_);
+#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->search_toolbar);
+#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->search_toolbar = _tmp22_;
+#line 2056 "LibraryWindow.c"
+ {
+ GFile* ui_file = NULL;
+ GFile* _tmp23_ = NULL;
+ GtkUIManager* _tmp24_ = NULL;
+ gchar* _tmp25_ = NULL;
+ gchar* _tmp26_ = NULL;
+#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = resources_get_ui ("top.ui");
+#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ui_file = _tmp23_;
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui;
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = g_file_get_path (ui_file);
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = _tmp25_;
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_ui_manager_add_ui_from_file (_tmp24_, _tmp26_, &_inner_error_);
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp26_);
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (ui_file);
+#line 2081 "LibraryWindow.c"
+ goto __catch38_g_error;
+ }
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (ui_file);
+#line 2086 "LibraryWindow.c"
+ }
+ goto __finally38;
+ __catch38_g_error:
+ {
+ GError* e = NULL;
+ const gchar* _tmp27_ = NULL;
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ e = _inner_error_;
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _inner_error_ = NULL;
+#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = e->message;
+#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_error ("LibraryWindow.vala:183: %s", _tmp27_);
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_error_free0 (e);
+#line 2103 "LibraryWindow.c"
+ }
+ __finally38:
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_clear_error (&_inner_error_);
+#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return NULL;
+#line 2114 "LibraryWindow.c"
+ }
+#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui;
+#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = gtk_ui_manager_get_widget (_tmp28_, "/MenuBar");
+#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, gtk_menu_bar_get_type ()) ? ((GtkMenuBar*) _tmp29_) : NULL);
+#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ menubar = _tmp30_;
+#line 187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = self->priv->layout;
+#line 187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = menubar;
+#line 187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget));
+#line 191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = menubar;
+#line 191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_set_no_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget), TRUE);
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = self->priv->library_branch;
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = library_branch_get_photos_entry (_tmp34_);
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = _tmp35_;
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_ = _tmp37_;
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_create_layout (self, _tmp38_);
+#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp38_);
+#line 197 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_load_configuration (self);
+#line 2150 "LibraryWindow.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp39_ = NULL;
+ MediaCollectionRegistry* _tmp40_ = NULL;
+ GeeCollection* _tmp41_ = NULL;
+ GeeCollection* _tmp42_ = NULL;
+ GeeIterator* _tmp43_ = NULL;
+ GeeIterator* _tmp44_ = NULL;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp39_ = media_collection_registry_get_instance ();
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40_ = _tmp39_;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp41_ = media_collection_registry_get_all (_tmp40_);
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_ = _tmp41_;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp43_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp44_ = _tmp43_;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp42_);
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _media_collection_registry_unref0 (_tmp40_);
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _media_sources_it = _tmp44_;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ while (TRUE) {
+#line 2179 "LibraryWindow.c"
+ GeeIterator* _tmp45_ = NULL;
+ gboolean _tmp46_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp47_ = NULL;
+ gpointer _tmp48_ = NULL;
+ MediaSourceCollection* _tmp49_ = NULL;
+ MediaSourceCollection* _tmp50_ = NULL;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp45_ = _media_sources_it;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_ = gee_iterator_next (_tmp45_);
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp46_) {
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ break;
+#line 2195 "LibraryWindow.c"
+ }
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp47_ = _media_sources_it;
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp48_ = gee_iterator_get (_tmp47_);
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ media_sources = (MediaSourceCollection*) _tmp48_;
+#line 200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp49_ = media_sources;
+#line 200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp49_, "trashcan-contents-altered", (GCallback) _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0);
+#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_ = media_sources;
+#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_window_on_media_altered_data_collection_items_altered, self, 0);
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (media_sources);
+#line 2213 "LibraryWindow.c"
+ }
+#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 2217 "LibraryWindow.c"
+ }
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp51_ = LIBRARY_WINDOW_DND_TARGET_ENTRIES[LIBRARY_WINDOW_TARGET_TYPE_URI_LIST];
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp52_ = LIBRARY_WINDOW_DND_TARGET_ENTRIES[LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST];
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp53_ = g_new0 (GtkTargetEntry, 2);
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp53_[0] = _tmp51_;
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp53_[1] = _tmp52_;
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ main_window_dnd_targets = _tmp53_;
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ main_window_dnd_targets_length1 = 2;
+#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _main_window_dnd_targets_size_ = main_window_dnd_targets_length1;
+#line 212 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_ = main_window_dnd_targets;
+#line 212 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54__length1 = main_window_dnd_targets_length1;
+#line 212 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_drag_dest_set (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), GTK_DEST_DEFAULT_ALL, _tmp54_, _tmp54__length1, (GDK_ACTION_COPY | GDK_ACTION_LINK) | GDK_ACTION_ASK);
+#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp55_ = metadata_writer_get_instance ();
+#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp56_ = _tmp55_;
+#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp56_, "progress", (GCallback) _library_window_on_metadata_writer_progress_metadata_writer_progress, self, 0);
+#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp56_);
+#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp57_ = library_monitor_pool_get_instance ();
+#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_ = _tmp57_;
+#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp59_ = library_monitor_pool_get_monitor (_tmp58_);
+#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp60_ = _tmp59_;
+#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _library_monitor_pool_unref0 (_tmp58_);
+#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ monitor = _tmp60_;
+#line 218 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp61_ = monitor;
+#line 218 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp61_ != NULL) {
+#line 2265 "LibraryWindow.c"
+ LibraryMonitor* _tmp62_ = NULL;
+#line 219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_ = monitor;
+#line 219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_installed (self, _tmp62_);
+#line 2271 "LibraryWindow.c"
+ }
+#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp63_ = library_monitor_pool_get_instance ();
+#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp64_ = _tmp63_;
+#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp64_, "monitor-installed", (GCallback) _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed, self, 0);
+#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _library_monitor_pool_unref0 (_tmp64_);
+#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp65_ = library_monitor_pool_get_instance ();
+#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_ = _tmp65_;
+#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp66_, "monitor-destroyed", (GCallback) _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed, self, 0);
+#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _library_monitor_pool_unref0 (_tmp66_);
+#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp67_ = camera_table_get_instance ();
+#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp68_ = _tmp67_;
+#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp68_, "camera-added", (GCallback) _library_window_on_camera_added_camera_table_camera_added, self, 0);
+#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _camera_table_unref0 (_tmp68_);
+#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp69_ = self->priv->background_progress_bar;
+#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_set_show_text (_tmp69_, TRUE);
+#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (monitor);
+#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ main_window_dnd_targets = (g_free (main_window_dnd_targets), NULL);
+#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (menubar);
+#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return self;
+#line 2309 "LibraryWindow.c"
+}
+
+
+LibraryWindow* library_window_new (ProgressMonitor progress_monitor, void* progress_monitor_target) {
+#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return library_window_construct (TYPE_LIBRARY_WINDOW, progress_monitor, progress_monitor_target);
+#line 2316 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started (DirectoryMonitor* _sender, gpointer self) {
+#line 261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_discovery_started ((LibraryWindow*) self);
+#line 2323 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self) {
+#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_discovery_completed ((LibraryWindow*) self);
+#line 2330 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_discovery_completed_directory_monitor_closed (DirectoryMonitor* _sender, gpointer self) {
+#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_discovery_completed ((LibraryWindow*) self);
+#line 2337 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress (LibraryMonitor* _sender, gint completed_files, gint total_files, gpointer self) {
+#line 264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_auto_update_progress ((LibraryWindow*) self, completed_files, total_files);
+#line 2344 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing (LibraryMonitor* _sender, gpointer self) {
+#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_auto_import_preparing ((LibraryWindow*) self);
+#line 2351 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress (LibraryMonitor* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self) {
+#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_auto_import_progress ((LibraryWindow*) self, completed_bytes, total_bytes);
+#line 2358 "LibraryWindow.c"
+}
+
+
+static void library_window_on_library_monitor_installed (LibraryWindow* self, LibraryMonitor* monitor) {
+ LibraryMonitor* _tmp0_ = NULL;
+ GFile* _tmp1_ = NULL;
+ GFile* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ LibraryMonitor* _tmp5_ = NULL;
+ LibraryMonitor* _tmp6_ = NULL;
+ LibraryMonitor* _tmp7_ = NULL;
+ LibraryMonitor* _tmp8_ = NULL;
+ LibraryMonitor* _tmp9_ = NULL;
+ LibraryMonitor* _tmp10_ = NULL;
+#line 258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (monitor));
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = monitor;
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = g_file_get_path (_tmp2_);
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:259: on_library_monitor_installed: %s", _tmp4_);
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp4_);
+#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = monitor;
+#line 261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-started", (GCallback) _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started, self, 0);
+#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = monitor;
+#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-completed", (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed, self, 0);
+#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = monitor;
+#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "closed", (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_closed, self, 0);
+#line 264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = monitor;
+#line 264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp8_, "auto-update-progress", (GCallback) _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress, self, 0);
+#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = monitor;
+#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp9_, "auto-import-preparing", (GCallback) _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing, self, 0);
+#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = monitor;
+#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp10_, "auto-import-progress", (GCallback) _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress, self, 0);
+#line 2418 "LibraryWindow.c"
+}
+
+
+static void library_window_on_library_monitor_destroyed (LibraryWindow* self, LibraryMonitor* monitor) {
+ LibraryMonitor* _tmp0_ = NULL;
+ GFile* _tmp1_ = NULL;
+ GFile* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ LibraryMonitor* _tmp5_ = NULL;
+ guint _tmp6_ = 0U;
+ LibraryMonitor* _tmp7_ = NULL;
+ guint _tmp8_ = 0U;
+ LibraryMonitor* _tmp9_ = NULL;
+ guint _tmp10_ = 0U;
+ LibraryMonitor* _tmp11_ = NULL;
+ guint _tmp12_ = 0U;
+ LibraryMonitor* _tmp13_ = NULL;
+ guint _tmp14_ = 0U;
+ LibraryMonitor* _tmp15_ = NULL;
+ guint _tmp16_ = 0U;
+#line 269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (monitor));
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = monitor;
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = g_file_get_path (_tmp2_);
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:270: on_library_monitor_destroyed: %s", _tmp4_);
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp4_);
+#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = monitor;
+#line 272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("discovery-started", TYPE_DIRECTORY_MONITOR, &_tmp6_, NULL, FALSE);
+#line 272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started, self);
+#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = monitor;
+#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("discovery-completed", TYPE_DIRECTORY_MONITOR, &_tmp8_, NULL, FALSE);
+#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed, self);
+#line 274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = monitor;
+#line 274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("closed", TYPE_DIRECTORY_MONITOR, &_tmp10_, NULL, FALSE);
+#line 274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_closed, self);
+#line 275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = monitor;
+#line 275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("auto-update-progress", TYPE_LIBRARY_MONITOR, &_tmp12_, NULL, FALSE);
+#line 275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress, self);
+#line 276 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = monitor;
+#line 276 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("auto-import-preparing", TYPE_LIBRARY_MONITOR, &_tmp14_, NULL, FALSE);
+#line 276 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing, self);
+#line 277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = monitor;
+#line 277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("auto-import-progress", TYPE_LIBRARY_MONITOR, &_tmp16_, NULL, FALSE);
+#line 277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp15_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress, self);
+#line 2496 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_file_import_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_file_import ((LibraryWindow*) self);
+#line 2503 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add61 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2514 "LibraryWindow.c"
+ }
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2518 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_external_library_import_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_external_library_import ((LibraryWindow*) self);
+#line 2525 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add62 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2536 "LibraryWindow.c"
+ }
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2540 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add63 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2551 "LibraryWindow.c"
+ }
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2555 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_preferences_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_preferences ((LibraryWindow*) self);
+#line 2562 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add64 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2573 "LibraryWindow.c"
+ }
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2577 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_empty_trash_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_empty_trash ((LibraryWindow*) self);
+#line 2584 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add65 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2595 "LibraryWindow.c"
+ }
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2599 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_jump_to_event_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_jump_to_event ((LibraryWindow*) self);
+#line 2606 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add66 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2617 "LibraryWindow.c"
+ }
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2621 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_find_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_find ((LibraryWindow*) self);
+#line 2628 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add67 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2639 "LibraryWindow.c"
+ }
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2643 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add68 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2654 "LibraryWindow.c"
+ }
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2658 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_new_search_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_new_search ((LibraryWindow*) self);
+#line 2665 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add69 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2676 "LibraryWindow.c"
+ }
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2680 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add70 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2691 "LibraryWindow.c"
+ }
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2695 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add71 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2706 "LibraryWindow.c"
+ }
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2710 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add72 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2721 "LibraryWindow.c"
+ }
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2725 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add73 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2736 "LibraryWindow.c"
+ }
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2740 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add74 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2751 "LibraryWindow.c"
+ }
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2755 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add75 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2766 "LibraryWindow.c"
+ }
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2770 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add76 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2781 "LibraryWindow.c"
+ }
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2785 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add77 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 2796 "LibraryWindow.c"
+ }
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 2800 "LibraryWindow.c"
+}
+
+
+static GtkActionEntry* library_window_create_common_actions (LibraryWindow* self, int* result_length1) {
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* actions = NULL;
+ GtkActionEntry* _tmp0_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry import = {0};
+ GtkActionEntry _tmp1_ = {0};
+ const gchar* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ GtkActionEntry* _tmp4_ = NULL;
+ gint _tmp4__length1 = 0;
+ GtkActionEntry _tmp5_ = {0};
+ GtkActionEntry import_from_external = {0};
+ GtkActionEntry _tmp6_ = {0};
+ const gchar* _tmp7_ = NULL;
+ GtkActionEntry* _tmp8_ = NULL;
+ gint _tmp8__length1 = 0;
+ GtkActionEntry _tmp9_ = {0};
+ GtkActionEntry sort = {0};
+ GtkActionEntry _tmp10_ = {0};
+ const gchar* _tmp11_ = NULL;
+ GtkActionEntry* _tmp12_ = NULL;
+ gint _tmp12__length1 = 0;
+ GtkActionEntry _tmp13_ = {0};
+ GtkActionEntry preferences = {0};
+ GtkActionEntry _tmp14_ = {0};
+ GtkActionEntry* _tmp15_ = NULL;
+ gint _tmp15__length1 = 0;
+ GtkActionEntry _tmp16_ = {0};
+ GtkActionEntry empty = {0};
+ GtkActionEntry _tmp17_ = {0};
+ const gchar* _tmp18_ = NULL;
+ const gchar* _tmp19_ = NULL;
+ GtkActionEntry* _tmp20_ = NULL;
+ gint _tmp20__length1 = 0;
+ GtkActionEntry _tmp21_ = {0};
+ GtkActionEntry jump_to_event = {0};
+ GtkActionEntry _tmp22_ = {0};
+ const gchar* _tmp23_ = NULL;
+ GtkActionEntry* _tmp24_ = NULL;
+ gint _tmp24__length1 = 0;
+ GtkActionEntry _tmp25_ = {0};
+ GtkActionEntry find = {0};
+ GtkActionEntry _tmp26_ = {0};
+ const gchar* _tmp27_ = NULL;
+ const gchar* _tmp28_ = NULL;
+ GtkActionEntry* _tmp29_ = NULL;
+ gint _tmp29__length1 = 0;
+ GtkActionEntry _tmp30_ = {0};
+ GtkActionEntry filter_photos = {0};
+ GtkActionEntry _tmp31_ = {0};
+ GtkActionEntry* _tmp32_ = NULL;
+ gint _tmp32__length1 = 0;
+ GtkActionEntry _tmp33_ = {0};
+ GtkActionEntry new_search = {0};
+ GtkActionEntry _tmp34_ = {0};
+ const gchar* _tmp35_ = NULL;
+ GtkActionEntry* _tmp36_ = NULL;
+ gint _tmp36__length1 = 0;
+ GtkActionEntry _tmp37_ = {0};
+ GtkActionEntry file = {0};
+ GtkActionEntry _tmp38_ = {0};
+ const gchar* _tmp39_ = NULL;
+ GtkActionEntry* _tmp40_ = NULL;
+ gint _tmp40__length1 = 0;
+ GtkActionEntry _tmp41_ = {0};
+ GtkActionEntry edit = {0};
+ GtkActionEntry _tmp42_ = {0};
+ const gchar* _tmp43_ = NULL;
+ GtkActionEntry* _tmp44_ = NULL;
+ gint _tmp44__length1 = 0;
+ GtkActionEntry _tmp45_ = {0};
+ GtkActionEntry view = {0};
+ GtkActionEntry _tmp46_ = {0};
+ const gchar* _tmp47_ = NULL;
+ GtkActionEntry* _tmp48_ = NULL;
+ gint _tmp48__length1 = 0;
+ GtkActionEntry _tmp49_ = {0};
+ GtkActionEntry photo = {0};
+ GtkActionEntry _tmp50_ = {0};
+ const gchar* _tmp51_ = NULL;
+ GtkActionEntry* _tmp52_ = NULL;
+ gint _tmp52__length1 = 0;
+ GtkActionEntry _tmp53_ = {0};
+ GtkActionEntry photos = {0};
+ GtkActionEntry _tmp54_ = {0};
+ const gchar* _tmp55_ = NULL;
+ GtkActionEntry* _tmp56_ = NULL;
+ gint _tmp56__length1 = 0;
+ GtkActionEntry _tmp57_ = {0};
+ GtkActionEntry event = {0};
+ GtkActionEntry _tmp58_ = {0};
+ const gchar* _tmp59_ = NULL;
+ GtkActionEntry* _tmp60_ = NULL;
+ gint _tmp60__length1 = 0;
+ GtkActionEntry _tmp61_ = {0};
+ GtkActionEntry tags = {0};
+ GtkActionEntry _tmp62_ = {0};
+ const gchar* _tmp63_ = NULL;
+ GtkActionEntry* _tmp64_ = NULL;
+ gint _tmp64__length1 = 0;
+ GtkActionEntry _tmp65_ = {0};
+ GtkActionEntry help = {0};
+ GtkActionEntry _tmp66_ = {0};
+ const gchar* _tmp67_ = NULL;
+ GtkActionEntry* _tmp68_ = NULL;
+ gint _tmp68__length1 = 0;
+ GtkActionEntry _tmp69_ = {0};
+ GtkActionEntry* _tmp70_ = NULL;
+ gint _tmp70__length1 = 0;
+#line 280 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL);
+#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = g_new0 (GtkActionEntry, 0);
+#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions = _tmp0_;
+#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions_length1 = 0;
+#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _actions_size_ = actions_length1;
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.name = "CommonFileImport";
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.stock_id = RESOURCES_IMPORT;
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.label = TRANSLATABLE;
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.accelerator = "<Ctrl>I";
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.tooltip = TRANSLATABLE;
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.callback = (GCallback) _library_window_on_file_import_gtk_action_callback;
+#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import = _tmp1_;
+#line 285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _ ("_Import From Folder...");
+#line 285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import.label = _tmp2_;
+#line 286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _ ("Import photos from disk to library");
+#line 286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import.tooltip = _tmp3_;
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = actions;
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4__length1 = actions_length1;
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = import;
+#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add61 (&actions, &actions_length1, &_actions_size_, &_tmp5_);
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.name = "ExternalLibraryImport";
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.stock_id = RESOURCES_IMPORT;
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.label = TRANSLATABLE;
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.accelerator = NULL;
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.tooltip = TRANSLATABLE;
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.callback = (GCallback) _library_window_on_external_library_import_gtk_action_callback;
+#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import_from_external = _tmp6_;
+#line 293 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _ ("Import From _Application...");
+#line 293 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import_from_external.label = _tmp7_;
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = actions;
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8__length1 = actions_length1;
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = import_from_external;
+#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add62 (&actions, &actions_length1, &_actions_size_, &_tmp9_);
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_.name = "CommonSortEvents";
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_.stock_id = NULL;
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_.label = TRANSLATABLE;
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_.accelerator = NULL;
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_.tooltip = NULL;
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_.callback = (GCallback) NULL;
+#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sort = _tmp10_;
+#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _ ("Sort _Events");
+#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sort.label = _tmp11_;
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = actions;
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12__length1 = actions_length1;
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = sort;
+#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add63 (&actions, &actions_length1, &_actions_size_, &_tmp13_);
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_.name = "CommonPreferences";
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_.stock_id = RESOURCES_PREFERENCES_LABEL;
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_.label = TRANSLATABLE;
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_.accelerator = NULL;
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_.tooltip = TRANSLATABLE;
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_.callback = (GCallback) _library_window_on_preferences_gtk_action_callback;
+#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ preferences = _tmp14_;
+#line 302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ preferences.label = RESOURCES_PREFERENCES_MENU;
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = actions;
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15__length1 = actions_length1;
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = preferences;
+#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add64 (&actions, &actions_length1, &_actions_size_, &_tmp16_);
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_.name = "CommonEmptyTrash";
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_.stock_id = NULL;
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_.label = TRANSLATABLE;
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_.accelerator = NULL;
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_.tooltip = NULL;
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_.callback = (GCallback) _library_window_on_empty_trash_gtk_action_callback;
+#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ empty = _tmp17_;
+#line 307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = _ ("Empty T_rash");
+#line 307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ empty.label = _tmp18_;
+#line 308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = _ ("Delete all photos in the trash");
+#line 308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ empty.tooltip = _tmp19_;
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = actions;
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20__length1 = actions_length1;
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = empty;
+#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add65 (&actions, &actions_length1, &_actions_size_, &_tmp21_);
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_.name = "CommonJumpToEvent";
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_.stock_id = NULL;
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_.label = TRANSLATABLE;
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_.accelerator = NULL;
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_.tooltip = TRANSLATABLE;
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_.callback = (GCallback) _library_window_on_jump_to_event_gtk_action_callback;
+#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ jump_to_event = _tmp22_;
+#line 313 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = _ ("View Eve_nt for Photo");
+#line 313 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ jump_to_event.label = _tmp23_;
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = actions;
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24__length1 = actions_length1;
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = jump_to_event;
+#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add66 (&actions, &actions_length1, &_actions_size_, &_tmp25_);
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_.name = "CommonFind";
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_.stock_id = NULL;
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_.label = TRANSLATABLE;
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_.accelerator = NULL;
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_.tooltip = NULL;
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_.callback = (GCallback) _library_window_on_find_gtk_action_callback;
+#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ find = _tmp26_;
+#line 317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = _ ("_Find");
+#line 317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ find.label = _tmp27_;
+#line 318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = _ ("Find photos and videos by search criteria");
+#line 318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ find.tooltip = _tmp28_;
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = actions;
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29__length1 = actions_length1;
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = find;
+#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add67 (&actions, &actions_length1, &_actions_size_, &_tmp30_);
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_.name = "CommonFilterPhotos";
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_.stock_id = NULL;
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_.label = TRANSLATABLE;
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_.accelerator = NULL;
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_.tooltip = NULL;
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_.callback = (GCallback) NULL;
+#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ filter_photos = _tmp31_;
+#line 324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ filter_photos.label = RESOURCES_FILTER_PHOTOS_MENU;
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = actions;
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32__length1 = actions_length1;
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = filter_photos;
+#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add68 (&actions, &actions_length1, &_actions_size_, &_tmp33_);
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_.name = "CommonNewSearch";
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_.stock_id = NULL;
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_.label = TRANSLATABLE;
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_.accelerator = "<Ctrl>S";
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_.tooltip = NULL;
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_.callback = (GCallback) _library_window_on_new_search_gtk_action_callback;
+#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ new_search = _tmp34_;
+#line 329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = _ ("Ne_w Saved Search...");
+#line 329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ new_search.label = _tmp35_;
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = actions;
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36__length1 = actions_length1;
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = new_search;
+#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add69 (&actions, &actions_length1, &_actions_size_, &_tmp37_);
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_.name = "FileMenu";
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_.stock_id = NULL;
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_.label = TRANSLATABLE;
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_.accelerator = NULL;
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_.tooltip = NULL;
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_.callback = (GCallback) NULL;
+#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ file = _tmp38_;
+#line 335 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp39_ = _ ("_File");
+#line 335 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ file.label = _tmp39_;
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40_ = actions;
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40__length1 = actions_length1;
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp41_ = file;
+#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add70 (&actions, &actions_length1, &_actions_size_, &_tmp41_);
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_.name = "EditMenu";
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_.stock_id = NULL;
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_.label = TRANSLATABLE;
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_.accelerator = NULL;
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_.tooltip = NULL;
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_.callback = (GCallback) NULL;
+#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ edit = _tmp42_;
+#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp43_ = _ ("_Edit");
+#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ edit.label = _tmp43_;
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp44_ = actions;
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp44__length1 = actions_length1;
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp45_ = edit;
+#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add71 (&actions, &actions_length1, &_actions_size_, &_tmp45_);
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_.name = "ViewMenu";
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_.stock_id = NULL;
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_.label = TRANSLATABLE;
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_.accelerator = NULL;
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_.tooltip = NULL;
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_.callback = (GCallback) NULL;
+#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp46_;
+#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp47_ = _ ("_View");
+#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view.label = _tmp47_;
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp48_ = actions;
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp48__length1 = actions_length1;
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp49_ = view;
+#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add72 (&actions, &actions_length1, &_actions_size_, &_tmp49_);
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_.name = "PhotoMenu";
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_.stock_id = NULL;
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_.label = TRANSLATABLE;
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_.accelerator = NULL;
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_.tooltip = NULL;
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_.callback = (GCallback) NULL;
+#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photo = _tmp50_;
+#line 347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp51_ = _ ("_Photo");
+#line 347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photo.label = _tmp51_;
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp52_ = actions;
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp52__length1 = actions_length1;
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp53_ = photo;
+#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add73 (&actions, &actions_length1, &_actions_size_, &_tmp53_);
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_.name = "PhotosMenu";
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_.stock_id = NULL;
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_.label = TRANSLATABLE;
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_.accelerator = NULL;
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_.tooltip = NULL;
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp54_.callback = (GCallback) NULL;
+#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photos = _tmp54_;
+#line 351 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp55_ = _ ("_Photos");
+#line 351 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photos.label = _tmp55_;
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp56_ = actions;
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp56__length1 = actions_length1;
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp57_ = photos;
+#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add74 (&actions, &actions_length1, &_actions_size_, &_tmp57_);
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_.name = "EventsMenu";
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_.stock_id = NULL;
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_.label = TRANSLATABLE;
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_.accelerator = NULL;
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_.tooltip = NULL;
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp58_.callback = (GCallback) NULL;
+#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ event = _tmp58_;
+#line 355 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp59_ = _ ("Even_ts");
+#line 355 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ event.label = _tmp59_;
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp60_ = actions;
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp60__length1 = actions_length1;
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp61_ = event;
+#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add75 (&actions, &actions_length1, &_actions_size_, &_tmp61_);
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_.name = "TagsMenu";
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_.stock_id = NULL;
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_.label = TRANSLATABLE;
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_.accelerator = NULL;
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_.tooltip = NULL;
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp62_.callback = (GCallback) NULL;
+#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ tags = _tmp62_;
+#line 359 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp63_ = _ ("Ta_gs");
+#line 359 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ tags.label = _tmp63_;
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp64_ = actions;
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp64__length1 = actions_length1;
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp65_ = tags;
+#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add76 (&actions, &actions_length1, &_actions_size_, &_tmp65_);
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_.name = "HelpMenu";
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_.stock_id = NULL;
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_.label = TRANSLATABLE;
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_.accelerator = NULL;
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_.tooltip = NULL;
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp66_.callback = (GCallback) NULL;
+#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ help = _tmp66_;
+#line 363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp67_ = _ ("_Help");
+#line 363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ help.label = _tmp67_;
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp68_ = actions;
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp68__length1 = actions_length1;
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp69_ = help;
+#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add77 (&actions, &actions_length1, &_actions_size_, &_tmp69_);
+#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp70_ = actions;
+#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp70__length1 = actions_length1;
+#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (result_length1) {
+#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *result_length1 = _tmp70__length1;
+#line 3383 "LibraryWindow.c"
+ }
+#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp70_;
+#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 3389 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_display_basic_properties_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_display_basic_properties ((LibraryWindow*) self, action);
+#line 3396 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add78 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkToggleActionEntry, *array, *size);
+#line 3407 "LibraryWindow.c"
+ }
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3411 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_display_extended_properties_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_display_extended_properties ((LibraryWindow*) self, action);
+#line 3418 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add79 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkToggleActionEntry, *array, *size);
+#line 3429 "LibraryWindow.c"
+ }
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3433 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_display_searchbar_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_display_searchbar ((LibraryWindow*) self, action);
+#line 3440 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add80 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkToggleActionEntry, *array, *size);
+#line 3451 "LibraryWindow.c"
+ }
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3455 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_display_sidebar_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_display_sidebar ((LibraryWindow*) self, action);
+#line 3462 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add81 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkToggleActionEntry, *array, *size);
+#line 3473 "LibraryWindow.c"
+ }
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3477 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_display_toolbar_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_display_toolbar ((LibraryWindow*) self, action);
+#line 3484 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add82 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkToggleActionEntry, *array, *size);
+#line 3495 "LibraryWindow.c"
+ }
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3499 "LibraryWindow.c"
+}
+
+
+static GtkToggleActionEntry* library_window_create_common_toggle_actions (LibraryWindow* self, int* result_length1) {
+ GtkToggleActionEntry* result = NULL;
+ GtkToggleActionEntry* actions = NULL;
+ GtkToggleActionEntry* _tmp0_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkToggleActionEntry basic_props = {0};
+ GtkToggleActionEntry _tmp1_ = {0};
+ const gchar* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ GtkToggleActionEntry* _tmp4_ = NULL;
+ gint _tmp4__length1 = 0;
+ GtkToggleActionEntry _tmp5_ = {0};
+ GtkToggleActionEntry extended_props = {0};
+ GtkToggleActionEntry _tmp6_ = {0};
+ const gchar* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ GtkToggleActionEntry* _tmp9_ = NULL;
+ gint _tmp9__length1 = 0;
+ GtkToggleActionEntry _tmp10_ = {0};
+ GtkToggleActionEntry searchbar = {0};
+ gboolean _tmp11_ = FALSE;
+ GtkToggleActionEntry _tmp12_ = {0};
+ const gchar* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+ GtkToggleActionEntry* _tmp15_ = NULL;
+ gint _tmp15__length1 = 0;
+ GtkToggleActionEntry _tmp16_ = {0};
+ GtkToggleActionEntry sidebar = {0};
+ gboolean _tmp17_ = FALSE;
+ GtkToggleActionEntry _tmp18_ = {0};
+ const gchar* _tmp19_ = NULL;
+ const gchar* _tmp20_ = NULL;
+ GtkToggleActionEntry* _tmp21_ = NULL;
+ gint _tmp21__length1 = 0;
+ GtkToggleActionEntry _tmp22_ = {0};
+ GtkToggleActionEntry toolbar = {0};
+ gboolean _tmp23_ = FALSE;
+ GtkToggleActionEntry _tmp24_ = {0};
+ const gchar* _tmp25_ = NULL;
+ const gchar* _tmp26_ = NULL;
+ GtkToggleActionEntry* _tmp27_ = NULL;
+ gint _tmp27__length1 = 0;
+ GtkToggleActionEntry _tmp28_ = {0};
+ GtkToggleActionEntry* _tmp29_ = NULL;
+ gint _tmp29__length1 = 0;
+#line 369 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL);
+#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = g_new0 (GtkToggleActionEntry, 0);
+#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions = _tmp0_;
+#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions_length1 = 0;
+#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _actions_size_ = actions_length1;
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.name = "CommonDisplayBasicProperties";
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.stock_id = NULL;
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.label = TRANSLATABLE;
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.accelerator = "<Ctrl><Shift>I";
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.tooltip = TRANSLATABLE;
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.callback = (GCallback) _library_window_on_display_basic_properties_gtk_action_callback;
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.is_active = FALSE;
+#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ basic_props = _tmp1_;
+#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _ ("_Basic Information");
+#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ basic_props.label = _tmp2_;
+#line 375 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _ ("Display basic information for the selection");
+#line 375 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ basic_props.tooltip = _tmp3_;
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = actions;
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4__length1 = actions_length1;
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = basic_props;
+#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add78 (&actions, &actions_length1, &_actions_size_, &_tmp5_);
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.name = "CommonDisplayExtendedProperties";
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.stock_id = NULL;
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.label = TRANSLATABLE;
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.accelerator = "<Ctrl><Shift>X";
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.tooltip = TRANSLATABLE;
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.callback = (GCallback) _library_window_on_display_extended_properties_gtk_action_callback;
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.is_active = FALSE;
+#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_props = _tmp6_;
+#line 380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _ ("E_xtended Information");
+#line 380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_props.label = _tmp7_;
+#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _ ("Display extended information for the selection");
+#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_props.tooltip = _tmp8_;
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = actions;
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9__length1 = actions_length1;
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = extended_props;
+#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add79 (&actions, &actions_length1, &_actions_size_, &_tmp10_);
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = self->priv->is_search_toolbar_visible;
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.name = "CommonDisplaySearchbar";
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.stock_id = "edit-find";
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.label = TRANSLATABLE;
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.accelerator = "F8";
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.tooltip = TRANSLATABLE;
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.callback = (GCallback) _library_window_on_display_searchbar_gtk_action_callback;
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_.is_active = _tmp11_;
+#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ searchbar = _tmp12_;
+#line 386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = _ ("_Search Bar");
+#line 386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ searchbar.label = _tmp13_;
+#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _ ("Display the search bar");
+#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ searchbar.tooltip = _tmp14_;
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = actions;
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15__length1 = actions_length1;
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = searchbar;
+#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add80 (&actions, &actions_length1, &_actions_size_, &_tmp16_);
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = library_window_is_sidebar_visible (self);
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.name = "CommonDisplaySidebar";
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.stock_id = NULL;
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.label = TRANSLATABLE;
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.accelerator = "F9";
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.tooltip = TRANSLATABLE;
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.callback = (GCallback) _library_window_on_display_sidebar_gtk_action_callback;
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_.is_active = _tmp17_;
+#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar = _tmp18_;
+#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = _ ("S_idebar");
+#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar.label = _tmp19_;
+#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = _ ("Display the sidebar");
+#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar.tooltip = _tmp20_;
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = actions;
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21__length1 = actions_length1;
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = sidebar;
+#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add81 (&actions, &actions_length1, &_actions_size_, &_tmp22_);
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = library_window_is_toolbar_visible (self);
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.name = "CommonDisplayToolbar";
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.stock_id = NULL;
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.label = TRANSLATABLE;
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.accelerator = "<Ctrl>F9";
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.tooltip = TRANSLATABLE;
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.callback = (GCallback) _library_window_on_display_toolbar_gtk_action_callback;
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_.is_active = _tmp23_;
+#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ toolbar = _tmp24_;
+#line 398 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = _ ("T_oolbar");
+#line 398 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ toolbar.label = _tmp25_;
+#line 399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = _ ("Display the tool bar");
+#line 399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ toolbar.tooltip = _tmp26_;
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = actions;
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27__length1 = actions_length1;
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = toolbar;
+#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add82 (&actions, &actions_length1, &_actions_size_, &_tmp28_);
+#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = actions;
+#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29__length1 = actions_length1;
+#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (result_length1) {
+#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *result_length1 = _tmp29__length1;
+#line 3733 "LibraryWindow.c"
+ }
+#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp29_;
+#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 3739 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add83 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) {
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkRadioActionEntry, *array, *size);
+#line 3750 "LibraryWindow.c"
+ }
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3754 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add84 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) {
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkRadioActionEntry, *array, *size);
+#line 3765 "LibraryWindow.c"
+ }
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = *value;
+#line 3769 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_events_sort_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self) {
+#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_events_sort_changed ((LibraryWindow*) self, action, current);
+#line 3776 "LibraryWindow.c"
+}
+
+
+static void library_window_add_common_radio_actions (LibraryWindow* self, GtkActionGroup* group) {
+ GtkRadioActionEntry* actions = NULL;
+ GtkRadioActionEntry* _tmp0_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkRadioActionEntry ascending = {0};
+ GtkRadioActionEntry _tmp1_ = {0};
+ const gchar* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ GtkRadioActionEntry* _tmp4_ = NULL;
+ gint _tmp4__length1 = 0;
+ GtkRadioActionEntry _tmp5_ = {0};
+ GtkRadioActionEntry descending = {0};
+ GtkRadioActionEntry _tmp6_ = {0};
+ const gchar* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ GtkRadioActionEntry* _tmp9_ = NULL;
+ gint _tmp9__length1 = 0;
+ GtkRadioActionEntry _tmp10_ = {0};
+ GtkActionGroup* _tmp11_ = NULL;
+ GtkRadioActionEntry* _tmp12_ = NULL;
+ gint _tmp12__length1 = 0;
+#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION_GROUP (group));
+#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = g_new0 (GtkRadioActionEntry, 0);
+#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions = _tmp0_;
+#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions_length1 = 0;
+#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _actions_size_ = actions_length1;
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.name = "CommonSortEventsAscending";
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.stock_id = RESOURCES_SORT_ASCENDING_LABEL;
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.label = TRANSLATABLE;
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.accelerator = NULL;
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.tooltip = TRANSLATABLE;
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_.value = LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING;
+#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ascending = _tmp1_;
+#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _ ("_Ascending");
+#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ascending.label = _tmp2_;
+#line 412 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _ ("Sort photos in an ascending order");
+#line 412 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ascending.tooltip = _tmp3_;
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = actions;
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4__length1 = actions_length1;
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = ascending;
+#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add83 (&actions, &actions_length1, &_actions_size_, &_tmp5_);
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.name = "CommonSortEventsDescending";
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.stock_id = RESOURCES_SORT_DESCENDING_LABEL;
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.label = TRANSLATABLE;
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.accelerator = NULL;
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.tooltip = TRANSLATABLE;
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_.value = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING;
+#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ descending = _tmp6_;
+#line 418 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _ ("D_escending");
+#line 418 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ descending.label = _tmp7_;
+#line 419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _ ("Sort photos in a descending order");
+#line 419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ descending.tooltip = _tmp8_;
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = actions;
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9__length1 = actions_length1;
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = descending;
+#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add84 (&actions, &actions_length1, &_actions_size_, &_tmp10_);
+#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = group;
+#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = actions;
+#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12__length1 = actions_length1;
+#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_action_group_add_radio_actions (_tmp11_, _tmp12_, _tmp12__length1, LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING, (GCallback) _library_window_on_events_sort_changed_gtk_radio_action_callback, self);
+#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ actions = (g_free (actions), NULL);
+#line 3884 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add85 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value) {
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionGroup*, *array, (*size) + 1);
+#line 3895 "LibraryWindow.c"
+ }
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = value;
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[*length] = NULL;
+#line 3901 "LibraryWindow.c"
+}
+
+
+static void _vala_array_add86 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value) {
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if ((*length) == (*size)) {
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *array = g_renew (GtkActionGroup*, *array, (*size) + 1);
+#line 3912 "LibraryWindow.c"
+ }
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[(*length)++] = value;
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ (*array)[*length] = NULL;
+#line 3918 "LibraryWindow.c"
+}
+
+
+static GtkActionGroup** library_window_real_create_common_action_groups (AppWindow* base, int* result_length1) {
+ LibraryWindow * self;
+ GtkActionGroup** result = NULL;
+ GtkActionGroup** groups = NULL;
+ gint _tmp0_ = 0;
+ GtkActionGroup** _tmp1_ = NULL;
+ gint groups_length1 = 0;
+ gint _groups_size_ = 0;
+ GtkActionGroup* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ GtkActionEntry* _tmp4_ = NULL;
+ GtkActionEntry* _tmp5_ = NULL;
+ gint _tmp5__length1 = 0;
+ GtkActionGroup* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ GtkToggleActionEntry* _tmp8_ = NULL;
+ GtkToggleActionEntry* _tmp9_ = NULL;
+ gint _tmp9__length1 = 0;
+ GtkActionGroup* _tmp10_ = NULL;
+ GtkAction* action = NULL;
+ GtkActionGroup* _tmp11_ = NULL;
+ GtkAction* _tmp12_ = NULL;
+ GtkAction* _tmp13_ = NULL;
+ GtkAction* _tmp14_ = NULL;
+ GtkActionGroup** _tmp17_ = NULL;
+ gint _tmp17__length1 = 0;
+ GtkActionGroup* _tmp18_ = NULL;
+ GtkActionGroup* _tmp19_ = NULL;
+ GtkActionGroup** _tmp20_ = NULL;
+ gint _tmp20__length1 = 0;
+ SearchFilterActions* _tmp21_ = NULL;
+ GtkActionGroup* _tmp22_ = NULL;
+ GtkActionGroup** _tmp23_ = NULL;
+ gint _tmp23__length1 = 0;
+#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = APP_WINDOW_CLASS (library_window_parent_class)->create_common_action_groups (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), &_tmp0_);
+#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ groups = _tmp1_;
+#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ groups_length1 = _tmp0_;
+#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _groups_size_ = groups_length1;
+#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->common_action_group;
+#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = library_window_create_common_actions (self, &_tmp3_);
+#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5__length1 = _tmp3_;
+#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_action_group_add_actions (_tmp2_, _tmp5_, _tmp3_, self);
+#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = (g_free (_tmp5_), NULL);
+#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->common_action_group;
+#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = library_window_create_common_toggle_actions (self, &_tmp7_);
+#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp8_;
+#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9__length1 = _tmp7_;
+#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_action_group_add_toggle_actions (_tmp6_, _tmp9_, _tmp7_, self);
+#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = (g_free (_tmp9_), NULL);
+#line 430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = self->priv->common_action_group;
+#line 430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_add_common_radio_actions (self, _tmp10_);
+#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = self->priv->common_action_group;
+#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = gtk_action_group_get_action (_tmp11_, "CommonDisplaySearchbar");
+#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = _g_object_ref0 (_tmp12_);
+#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ action = _tmp13_;
+#line 433 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = action;
+#line 433 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp14_ != NULL) {
+#line 4006 "LibraryWindow.c"
+ GtkAction* _tmp15_ = NULL;
+ GtkAction* _tmp16_ = NULL;
+#line 434 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = action;
+#line 434 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_action_set_short_label (_tmp15_, RESOURCES_FIND_LABEL);
+#line 435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = action;
+#line 435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_action_set_is_important (_tmp16_, TRUE);
+#line 4017 "LibraryWindow.c"
+ }
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = groups;
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17__length1 = groups_length1;
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = self->priv->common_action_group;
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = _g_object_ref0 (_tmp18_);
+#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add85 (&groups, &groups_length1, &_groups_size_, _tmp19_);
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = groups;
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20__length1 = groups_length1;
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = self->priv->search_actions;
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = search_filter_actions_get_action_group (_tmp21_);
+#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_array_add86 (&groups, &groups_length1, &_groups_size_, _tmp22_);
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = groups;
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23__length1 = groups_length1;
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (result_length1) {
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *result_length1 = _tmp23__length1;
+#line 4047 "LibraryWindow.c"
+ }
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp23_;
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (action);
+#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4055 "LibraryWindow.c"
+}
+
+
+static void library_window_real_replace_common_placeholders (AppWindow* base, GtkUIManager* ui) {
+ LibraryWindow * self;
+ GtkUIManager* _tmp0_ = NULL;
+#line 444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_UI_MANAGER (ui));
+#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = ui;
+#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ APP_WINDOW_CLASS (library_window_parent_class)->replace_common_placeholders (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), _tmp0_);
+#line 4070 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_view_filter_installed_view_collection_view_filter_installed (ViewCollection* _sender, ViewFilter* filer, gpointer self) {
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_view_filter_installed ((LibraryWindow*) self, filer);
+#line 4077 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_view_filter_removed_view_collection_view_filter_removed (ViewCollection* _sender, ViewFilter* filer, gpointer self) {
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_view_filter_removed ((LibraryWindow*) self, filer);
+#line 4084 "LibraryWindow.c"
+}
+
+
+static void library_window_real_switched_pages (PageWindow* base, Page* old_page, Page* new_page) {
+ LibraryWindow * self;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ Page* _tmp2_ = NULL;
+ Page* _tmp11_ = NULL;
+ SearchFilterActions* _tmp18_ = NULL;
+ Page* _tmp19_ = NULL;
+ Page* _tmp20_ = NULL;
+#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page));
+#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page));
+#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = old_page;
+#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = new_page;
+#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ PAGE_WINDOW_CLASS (library_window_parent_class)->switched_pages (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), TYPE_PAGE_WINDOW, PageWindow), _tmp0_, _tmp1_);
+#line 452 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = old_page;
+#line 452 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_ != NULL) {
+#line 4113 "LibraryWindow.c"
+ Page* _tmp3_ = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ guint _tmp6_ = 0U;
+ Page* _tmp7_ = NULL;
+ ViewCollection* _tmp8_ = NULL;
+ ViewCollection* _tmp9_ = NULL;
+ guint _tmp10_ = 0U;
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = old_page;
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = page_get_view (_tmp3_);
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("view-filter-installed", TYPE_VIEW_COLLECTION, &_tmp6_, NULL, FALSE);
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_window_on_view_filter_installed_view_collection_view_filter_installed, self);
+#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp5_);
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = old_page;
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = page_get_view (_tmp7_);
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp8_;
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("view-filter-removed", TYPE_VIEW_COLLECTION, &_tmp10_, NULL, FALSE);
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _library_window_on_view_filter_removed_view_collection_view_filter_removed, self);
+#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp9_);
+#line 4146 "LibraryWindow.c"
+ }
+#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = new_page;
+#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp11_ != NULL) {
+#line 4152 "LibraryWindow.c"
+ Page* _tmp12_ = NULL;
+ ViewCollection* _tmp13_ = NULL;
+ ViewCollection* _tmp14_ = NULL;
+ Page* _tmp15_ = NULL;
+ ViewCollection* _tmp16_ = NULL;
+ ViewCollection* _tmp17_ = NULL;
+#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = new_page;
+#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = page_get_view (_tmp12_);
+#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp13_;
+#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp14_, "view-filter-installed", (GCallback) _library_window_on_view_filter_installed_view_collection_view_filter_installed, self, 0);
+#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp14_);
+#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = new_page;
+#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = page_get_view (_tmp15_);
+#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = _tmp16_;
+#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp17_, "view-filter-removed", (GCallback) _library_window_on_view_filter_removed_view_collection_view_filter_removed, self, 0);
+#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp17_);
+#line 4179 "LibraryWindow.c"
+ }
+#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = self->priv->search_actions;
+#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = old_page;
+#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = new_page;
+#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_filter_actions_monitor_page_contents (_tmp18_, _tmp19_, _tmp20_);
+#line 4189 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_view_filter_refreshed_view_filter_refresh (ViewFilter* _sender, gpointer self) {
+#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_view_filter_refreshed ((LibraryWindow*) self);
+#line 4196 "LibraryWindow.c"
+}
+
+
+static void library_window_on_view_filter_installed (LibraryWindow* self, ViewFilter* filter) {
+ ViewFilter* _tmp0_ = NULL;
+#line 465 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 465 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_VIEW_FILTER (filter));
+#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = filter;
+#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (_tmp0_, "refresh", (GCallback) _library_window_on_view_filter_refreshed_view_filter_refresh, self, 0);
+#line 4210 "LibraryWindow.c"
+}
+
+
+static void library_window_on_view_filter_removed (LibraryWindow* self, ViewFilter* filter) {
+ ViewFilter* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_VIEW_FILTER (filter));
+#line 470 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = filter;
+#line 470 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("refresh", TYPE_VIEW_FILTER, &_tmp1_, NULL, FALSE);
+#line 470 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_window_on_view_filter_refreshed_view_filter_refresh, self);
+#line 4227 "LibraryWindow.c"
+}
+
+
+static void library_window_on_view_filter_refreshed (LibraryWindow* self) {
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ ViewCollection* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ gboolean _tmp5_ = FALSE;
+ GtkToggleAction* display_searchbar = NULL;
+ GtkAction* _tmp6_ = NULL;
+ GtkToggleAction* _tmp7_ = NULL;
+ GtkToggleAction* _tmp8_ = NULL;
+#line 473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_get_view (_tmp1_);
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = view_collection_are_items_filtered_out (_tmp3_);
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = !_tmp4_;
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp3_);
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp5_) {
+#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 4264 "LibraryWindow.c"
+ }
+#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar");
+#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp6_) : NULL;
+#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp7_ == NULL) {
+#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp6_);
+#line 4274 "LibraryWindow.c"
+ }
+#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ display_searchbar = _tmp7_;
+#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = display_searchbar;
+#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_ != NULL) {
+#line 4282 "LibraryWindow.c"
+ GtkToggleAction* _tmp9_ = NULL;
+#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = display_searchbar;
+#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_toggle_action_set_active (_tmp9_, TRUE);
+#line 4288 "LibraryWindow.c"
+ }
+#line 473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (display_searchbar);
+#line 4292 "LibraryWindow.c"
+}
+
+
+static void library_window_real_show_all (GtkWidget* base) {
+ LibraryWindow * self;
+ GtkToggleAction* basic_properties_action = NULL;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ GtkAction* _tmp2_ = NULL;
+ GtkToggleAction* _tmp3_ = NULL;
+ GtkToggleAction* _tmp4_ = NULL;
+ GtkToggleAction* _tmp5_ = NULL;
+ GtkToggleAction* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ GtkToggleAction* searchbar_action = NULL;
+ Page* _tmp9_ = NULL;
+ Page* _tmp10_ = NULL;
+ GtkAction* _tmp11_ = NULL;
+ GtkToggleAction* _tmp12_ = NULL;
+ GtkToggleAction* _tmp13_ = NULL;
+ GtkToggleAction* _tmp14_ = NULL;
+ CheckerboardPage* current_page = NULL;
+ Page* _tmp15_ = NULL;
+ CheckerboardPage* _tmp16_ = NULL;
+ CheckerboardPage* _tmp17_ = NULL;
+ gboolean _tmp19_ = FALSE;
+ CheckerboardPage* _tmp20_ = NULL;
+ gboolean _tmp21_ = FALSE;
+#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 488 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ GTK_WIDGET_CLASS (library_window_parent_class)->show_all (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget));
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_get_common_action (_tmp1_, "CommonDisplayBasicProperties", TRUE);
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp2_) : NULL;
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ == NULL) {
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 4337 "LibraryWindow.c"
+ }
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ basic_properties_action = _tmp4_;
+#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = basic_properties_action;
+#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp5_ != NULL, "basic_properties_action != null");
+#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = basic_properties_action;
+#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = gtk_toggle_action_get_active (_tmp6_);
+#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp7_) {
+#line 4355 "LibraryWindow.c"
+ GtkFrame* _tmp8_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = self->priv->bottom_frame;
+#line 495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
+#line 4361 "LibraryWindow.c"
+ }
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = _tmp9_;
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = page_get_common_action (_tmp10_, "CommonDisplaySearchbar", TRUE);
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp11_) : NULL;
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp12_ == NULL) {
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp11_);
+#line 4375 "LibraryWindow.c"
+ }
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = _tmp12_;
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp10_);
+#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ searchbar_action = _tmp13_;
+#line 499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = searchbar_action;
+#line 499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp14_ != NULL, "searchbar_action != null");
+#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp15_) : NULL;
+#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp16_ == NULL) {
+#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp15_);
+#line 4395 "LibraryWindow.c"
+ }
+#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ current_page = _tmp16_;
+#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = current_page;
+#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp17_ != NULL) {
+#line 4403 "LibraryWindow.c"
+ CheckerboardPage* _tmp18_ = NULL;
+#line 504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = current_page;
+#line 504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_init_view_filter (self, _tmp18_);
+#line 4409 "LibraryWindow.c"
+ }
+#line 506 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = library_window_should_show_search_bar (self);
+#line 506 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = current_page;
+#line 506 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_toggle_search_bar (self, _tmp19_, _tmp20_);
+#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = library_window_is_sidebar_visible (self);
+#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_set_sidebar_visible (self, _tmp21_);
+#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (current_page);
+#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (searchbar_action);
+#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (basic_properties_action);
+#line 4427 "LibraryWindow.c"
+}
+
+
+LibraryWindow* library_window_get_app (void) {
+ LibraryWindow* result = NULL;
+ AppWindow* _tmp0_ = NULL;
+ AppWindow* _tmp1_ = NULL;
+ LibraryWindow* _tmp2_ = NULL;
+#line 513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = app_window_instance;
+#line 513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_WINDOW), "instance is LibraryWindow");
+#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = app_window_instance;
+#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_WINDOW, LibraryWindow));
+#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp2_;
+#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4448 "LibraryWindow.c"
+}
+
+
+gboolean library_window_is_mount_uri_supported (const gchar* uri) {
+ gboolean result = FALSE;
+#line 519 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (uri != NULL, FALSE);
+#line 4456 "LibraryWindow.c"
+ {
+ const gchar** scheme_collection = NULL;
+ gint scheme_collection_length1 = 0;
+ gint _scheme_collection_size_ = 0;
+ gint scheme_it = 0;
+#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ scheme_collection = LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES;
+#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ scheme_collection_length1 = G_N_ELEMENTS (LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES);
+#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ for (scheme_it = 0; scheme_it < G_N_ELEMENTS (LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES); scheme_it = scheme_it + 1) {
+#line 4468 "LibraryWindow.c"
+ gchar* _tmp0_ = NULL;
+ gchar* scheme = NULL;
+#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = g_strdup (scheme_collection[scheme_it]);
+#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ scheme = _tmp0_;
+#line 4475 "LibraryWindow.c"
+ {
+ const gchar* _tmp1_ = NULL;
+ const gchar* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = uri;
+#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = scheme;
+#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = g_str_has_prefix (_tmp1_, _tmp2_);
+#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_) {
+#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (scheme);
+#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4494 "LibraryWindow.c"
+ }
+#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (scheme);
+#line 4498 "LibraryWindow.c"
+ }
+ }
+ }
+#line 525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4506 "LibraryWindow.c"
+}
+
+
+static gchar* library_window_real_get_app_role (AppWindow* base) {
+ LibraryWindow * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 528 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = g_strdup (RESOURCES_APP_LIBRARY_ROLE);
+#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp0_;
+#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4522 "LibraryWindow.c"
+}
+
+
+void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag) {
+ TagsSidebarEntry* entry = NULL;
+ TagsBranch* _tmp0_ = NULL;
+ Tag* _tmp1_ = NULL;
+ TagsSidebarEntry* _tmp2_ = NULL;
+ TagsSidebarEntry* _tmp3_ = NULL;
+#line 532 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 532 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_TAG (tag));
+#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->tags_branch;
+#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = tag;
+#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = tags_branch_get_entry_for_tag (_tmp0_, _tmp1_);
+#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 4548 "LibraryWindow.c"
+ SidebarTree* _tmp4_ = NULL;
+ TagsSidebarEntry* _tmp5_ = NULL;
+#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->sidebar_tree;
+#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = entry;
+#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_rename_entry_in_place (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 4557 "LibraryWindow.c"
+ } else {
+#line 537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:537: No tag entry found for rename");
+#line 4561 "LibraryWindow.c"
+ }
+#line 532 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 4565 "LibraryWindow.c"
+}
+
+
+void library_window_rename_event_in_sidebar (LibraryWindow* self, Event* event) {
+ EventsEventEntry* entry = NULL;
+ EventsBranch* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ EventsEventEntry* _tmp2_ = NULL;
+ EventsEventEntry* _tmp3_ = NULL;
+#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->events_branch;
+#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = event;
+#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = events_branch_get_entry_for_event (_tmp0_, _tmp1_);
+#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 542 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 542 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 4591 "LibraryWindow.c"
+ SidebarTree* _tmp4_ = NULL;
+ EventsEventEntry* _tmp5_ = NULL;
+#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->sidebar_tree;
+#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = entry;
+#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_rename_entry_in_place (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 4600 "LibraryWindow.c"
+ } else {
+#line 545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:545: No event entry found for rename");
+#line 4604 "LibraryWindow.c"
+ }
+#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 4608 "LibraryWindow.c"
+}
+
+
+void library_window_rename_search_in_sidebar (LibraryWindow* self, SavedSearch* search) {
+ SearchesSidebarEntry* entry = NULL;
+ SearchesBranch* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ SearchesSidebarEntry* _tmp2_ = NULL;
+ SearchesSidebarEntry* _tmp3_ = NULL;
+#line 548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->saved_search_branch;
+#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = search;
+#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = searches_branch_get_entry_for_saved_search (_tmp0_, _tmp1_);
+#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 4634 "LibraryWindow.c"
+ SidebarTree* _tmp4_ = NULL;
+ SearchesSidebarEntry* _tmp5_ = NULL;
+#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->sidebar_tree;
+#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = entry;
+#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_rename_entry_in_place (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 4643 "LibraryWindow.c"
+ } else {
+#line 553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:553: No search entry found for rename");
+#line 4647 "LibraryWindow.c"
+ }
+#line 548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 4651 "LibraryWindow.c"
+}
+
+
+static void library_window_real_on_quit (AppWindow* base) {
+ LibraryWindow * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ Dimensions _tmp3_ = {0};
+ ConfigFacade* _tmp4_ = NULL;
+ ConfigFacade* _tmp5_ = NULL;
+ GtkPaned* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+#line 556 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->maximized;
+#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->dimensions;
+#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_library_window_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, &_tmp3_);
+#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = config_facade_get_instance ();
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->client_paned;
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = gtk_paned_get_position (_tmp6_);
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _tmp7_;
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp8_);
+#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ APP_WINDOW_CLASS (library_window_parent_class)->on_quit (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow));
+#line 4696 "LibraryWindow.c"
+}
+
+
+static Photo* library_window_get_start_fullscreen_photo (LibraryWindow* self, CollectionPage* page) {
+ Photo* result = NULL;
+ ViewCollection* view = NULL;
+ CollectionPage* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ ViewCollection* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ GeeList* sources = NULL;
+ GeeList* _tmp9_ = NULL;
+ Photo* _tmp10_ = NULL;
+ gboolean _tmp11_ = FALSE;
+ GeeList* _tmp12_ = NULL;
+#line 564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL);
+#line 564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_COLLECTION_PAGE (page), NULL);
+#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page));
+#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp1_;
+#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = view;
+#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = view_collection_get_selected_count (_tmp3_);
+#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_ > 0) {
+#line 4729 "LibraryWindow.c"
+ ViewCollection* _tmp5_ = NULL;
+ GeeList* _tmp6_ = NULL;
+#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = view;
+#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = view_collection_get_selected_sources_of_type (_tmp5_, TYPE_LIBRARY_PHOTO);
+#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp6_;
+#line 4740 "LibraryWindow.c"
+ } else {
+ ViewCollection* _tmp7_ = NULL;
+ GeeList* _tmp8_ = NULL;
+#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = view;
+#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = view_collection_get_sources_of_type (_tmp7_, TYPE_LIBRARY_PHOTO);
+#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp8_;
+#line 4752 "LibraryWindow.c"
+ }
+#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _g_object_ref0 (_tmp2_);
+#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sources = _tmp9_;
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = sources;
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp12_ != NULL) {
+#line 4762 "LibraryWindow.c"
+ GeeList* _tmp13_ = NULL;
+ gint _tmp14_ = 0;
+ gint _tmp15_ = 0;
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = sources;
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = _tmp14_;
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _tmp15_ != 0;
+#line 4774 "LibraryWindow.c"
+ } else {
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = FALSE;
+#line 4778 "LibraryWindow.c"
+ }
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp11_) {
+#line 4782 "LibraryWindow.c"
+ GeeList* _tmp16_ = NULL;
+ gpointer _tmp17_ = NULL;
+#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = sources;
+#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = gee_list_get (_tmp16_, 0);
+#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp10_);
+#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST ((DataSource*) _tmp17_, TYPE_PHOTO, Photo);
+#line 4793 "LibraryWindow.c"
+ } else {
+#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp10_);
+#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = NULL;
+#line 4799 "LibraryWindow.c"
+ }
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp10_;
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (sources);
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4811 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_get_fullscreen_photo (LibraryWindow* self, Page* page, CollectionPage** collection, Photo** start, ViewCollection** view_collection) {
+ CollectionPage* _vala_collection = NULL;
+ Photo* _vala_start = NULL;
+ ViewCollection* _vala_view_collection = NULL;
+ gboolean result = FALSE;
+ Page* _tmp0_ = NULL;
+ Page* _tmp8_ = NULL;
+ Page* _tmp30_ = NULL;
+#line 577 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 577 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_PAGE (page), FALSE);
+#line 579 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 579 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_collection = NULL;
+#line 580 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 580 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_start = NULL;
+#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_view_collection = NULL;
+#line 584 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 584 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_COLLECTION_PAGE)) {
+#line 4843 "LibraryWindow.c"
+ Page* _tmp1_ = NULL;
+ CollectionPage* _tmp2_ = NULL;
+ Photo* photo = NULL;
+ CollectionPage* _tmp3_ = NULL;
+ Photo* _tmp4_ = NULL;
+ Photo* _tmp5_ = NULL;
+ Photo* _tmp6_ = NULL;
+ Photo* _tmp7_ = NULL;
+#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page;
+#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COLLECTION_PAGE, CollectionPage));
+#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_collection = _tmp2_;
+#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _vala_collection;
+#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = library_window_get_start_fullscreen_photo (self, _tmp3_);
+#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photo = _tmp4_;
+#line 587 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = photo;
+#line 587 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp5_ == NULL) {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo);
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 4878 "LibraryWindow.c"
+ } else {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 4882 "LibraryWindow.c"
+ }
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 4888 "LibraryWindow.c"
+ } else {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 4892 "LibraryWindow.c"
+ }
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 4898 "LibraryWindow.c"
+ } else {
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 4902 "LibraryWindow.c"
+ }
+#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4906 "LibraryWindow.c"
+ }
+#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = photo;
+#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _g_object_ref0 (_tmp6_);
+#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_start = _tmp7_;
+#line 591 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 591 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_view_collection = NULL;
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo);
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 4928 "LibraryWindow.c"
+ } else {
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 4932 "LibraryWindow.c"
+ }
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 4938 "LibraryWindow.c"
+ } else {
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 4942 "LibraryWindow.c"
+ }
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 4948 "LibraryWindow.c"
+ } else {
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 4952 "LibraryWindow.c"
+ }
+#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 4956 "LibraryWindow.c"
+ }
+#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = page;
+#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_EVENTS_DIRECTORY_PAGE)) {
+#line 4962 "LibraryWindow.c"
+ ViewCollection* view = NULL;
+ Page* _tmp9_ = NULL;
+ ViewCollection* _tmp10_ = NULL;
+ ViewCollection* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ Event* event = NULL;
+ ViewCollection* _tmp13_ = NULL;
+ DataObject* _tmp14_ = NULL;
+ DataView* _tmp15_ = NULL;
+ DataSource* _tmp16_ = NULL;
+ Event* _tmp17_ = NULL;
+ Event* _tmp18_ = NULL;
+ EventsEventEntry* entry = NULL;
+ EventsBranch* _tmp19_ = NULL;
+ Event* _tmp20_ = NULL;
+ EventsEventEntry* _tmp21_ = NULL;
+ EventsEventEntry* _tmp22_ = NULL;
+ EventsEventEntry* _tmp23_ = NULL;
+ Page* _tmp24_ = NULL;
+ Photo* photo = NULL;
+ CollectionPage* _tmp25_ = NULL;
+ Photo* _tmp26_ = NULL;
+ Photo* _tmp27_ = NULL;
+ Photo* _tmp28_ = NULL;
+ Photo* _tmp29_ = NULL;
+#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = page;
+#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = page_get_view (_tmp9_);
+#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp10_;
+#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = view;
+#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection));
+#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp12_ == 0) {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5008 "LibraryWindow.c"
+ } else {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5012 "LibraryWindow.c"
+ }
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5018 "LibraryWindow.c"
+ } else {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5022 "LibraryWindow.c"
+ }
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5028 "LibraryWindow.c"
+ } else {
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5032 "LibraryWindow.c"
+ }
+#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5036 "LibraryWindow.c"
+ }
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = view;
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), 0);
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_VIEW, DataView);
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = data_view_get_source (_tmp15_);
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_EVENT, Event);
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp15_);
+#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ event = _tmp17_;
+#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = event;
+#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp18_ == NULL) {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (event);
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5066 "LibraryWindow.c"
+ } else {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5070 "LibraryWindow.c"
+ }
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5076 "LibraryWindow.c"
+ } else {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5080 "LibraryWindow.c"
+ }
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5086 "LibraryWindow.c"
+ } else {
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5090 "LibraryWindow.c"
+ }
+#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5094 "LibraryWindow.c"
+ }
+#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = self->priv->events_branch;
+#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = event;
+#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = events_branch_get_entry_for_event (_tmp19_, _tmp20_);
+#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp21_;
+#line 606 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = entry;
+#line 606 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp22_ == NULL) {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (event);
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5120 "LibraryWindow.c"
+ } else {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5124 "LibraryWindow.c"
+ }
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5130 "LibraryWindow.c"
+ } else {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5134 "LibraryWindow.c"
+ }
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5140 "LibraryWindow.c"
+ } else {
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5144 "LibraryWindow.c"
+ }
+#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5148 "LibraryWindow.c"
+ }
+#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = entry;
+#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_collection = G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_EVENT_PAGE, EventPage), TYPE_COLLECTION_PAGE, CollectionPage);
+#line 610 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = _vala_collection;
+#line 610 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = library_window_get_start_fullscreen_photo (self, _tmp25_);
+#line 610 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photo = _tmp26_;
+#line 611 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = photo;
+#line 611 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp27_ == NULL) {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo);
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (event);
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5182 "LibraryWindow.c"
+ } else {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5186 "LibraryWindow.c"
+ }
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5192 "LibraryWindow.c"
+ } else {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5196 "LibraryWindow.c"
+ }
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5202 "LibraryWindow.c"
+ } else {
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5206 "LibraryWindow.c"
+ }
+#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5210 "LibraryWindow.c"
+ }
+#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = photo;
+#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = _g_object_ref0 (_tmp28_);
+#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_start = _tmp29_;
+#line 615 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 615 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_view_collection = NULL;
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo);
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (event);
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5238 "LibraryWindow.c"
+ } else {
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5242 "LibraryWindow.c"
+ }
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5248 "LibraryWindow.c"
+ } else {
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5252 "LibraryWindow.c"
+ }
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5258 "LibraryWindow.c"
+ } else {
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5262 "LibraryWindow.c"
+ }
+#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5266 "LibraryWindow.c"
+ }
+#line 620 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = page;
+#line 620 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_LIBRARY_PHOTO_PAGE)) {
+#line 5272 "LibraryWindow.c"
+ LibraryPhotoPage* photo_page = NULL;
+ Page* _tmp31_ = NULL;
+ LibraryPhotoPage* _tmp32_ = NULL;
+ CollectionPage* controller = NULL;
+ LibraryPhotoPage* _tmp33_ = NULL;
+ CollectionPage* _tmp34_ = NULL;
+ CollectionPage* _tmp35_ = NULL;
+ LibraryPhotoPage* _tmp36_ = NULL;
+ gboolean _tmp37_ = FALSE;
+ CollectionPage* _tmp38_ = NULL;
+ CollectionPage* _tmp39_ = NULL;
+ LibraryPhotoPage* _tmp40_ = NULL;
+ Photo* _tmp41_ = NULL;
+ LibraryPhotoPage* _tmp42_ = NULL;
+ ViewCollection* _tmp43_ = NULL;
+#line 621 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = page;
+#line 621 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage));
+#line 621 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ photo_page = _tmp32_;
+#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = photo_page;
+#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = library_photo_page_get_controller_page (_tmp33_);
+#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ controller = _tmp34_;
+#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = controller;
+#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp35_ == NULL) {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (controller);
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo_page);
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5314 "LibraryWindow.c"
+ } else {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5318 "LibraryWindow.c"
+ }
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5324 "LibraryWindow.c"
+ } else {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5328 "LibraryWindow.c"
+ }
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5334 "LibraryWindow.c"
+ } else {
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5338 "LibraryWindow.c"
+ }
+#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5342 "LibraryWindow.c"
+ }
+#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = photo_page;
+#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_EDITING_HOST_PAGE, EditingHostPage));
+#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp37_) {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (controller);
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo_page);
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5360 "LibraryWindow.c"
+ } else {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5364 "LibraryWindow.c"
+ }
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5370 "LibraryWindow.c"
+ } else {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5374 "LibraryWindow.c"
+ }
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5380 "LibraryWindow.c"
+ } else {
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5384 "LibraryWindow.c"
+ }
+#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5388 "LibraryWindow.c"
+ }
+#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_ = controller;
+#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp39_ = _g_object_ref0 (_tmp38_);
+#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_collection = _tmp39_;
+#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40_ = photo_page;
+#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp41_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_EDITING_HOST_PAGE, EditingHostPage));
+#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_start = _tmp41_;
+#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_ = photo_page;
+#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp43_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PAGE, Page));
+#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_view_collection = _tmp43_;
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (controller);
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (photo_page);
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5424 "LibraryWindow.c"
+ } else {
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5428 "LibraryWindow.c"
+ }
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5434 "LibraryWindow.c"
+ } else {
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5438 "LibraryWindow.c"
+ }
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5444 "LibraryWindow.c"
+ } else {
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5448 "LibraryWindow.c"
+ }
+#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5452 "LibraryWindow.c"
+ }
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (collection) {
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *collection = _vala_collection;
+#line 5460 "LibraryWindow.c"
+ } else {
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_collection);
+#line 5464 "LibraryWindow.c"
+ }
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (start) {
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *start = _vala_start;
+#line 5470 "LibraryWindow.c"
+ } else {
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_vala_start);
+#line 5474 "LibraryWindow.c"
+ }
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (view_collection) {
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ *view_collection = _vala_view_collection;
+#line 5480 "LibraryWindow.c"
+ } else {
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_vala_view_collection);
+#line 5484 "LibraryWindow.c"
+ }
+#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5488 "LibraryWindow.c"
+}
+
+
+static void library_window_real_on_fullscreen (AppWindow* base) {
+ LibraryWindow * self;
+ Page* current_page = NULL;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ CollectionPage* collection = NULL;
+ Photo* start = NULL;
+ ViewCollection* view = NULL;
+ Page* _tmp2_ = NULL;
+ CollectionPage* _tmp3_ = NULL;
+ Photo* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+ LibraryWindowFullscreenPhotoPage* fs_photo = NULL;
+ CollectionPage* _tmp7_ = NULL;
+ Photo* _tmp8_ = NULL;
+ ViewCollection* _tmp9_ = NULL;
+ LibraryWindowFullscreenPhotoPage* _tmp10_ = NULL;
+ LibraryWindowFullscreenPhotoPage* _tmp11_ = NULL;
+#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 641 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 641 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ current_page = _tmp0_;
+#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = current_page;
+#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp1_ == NULL) {
+#line 643 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (current_page);
+#line 643 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 5525 "LibraryWindow.c"
+ }
+#line 647 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = NULL;
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = current_page;
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = library_window_get_fullscreen_photo (self, _tmp2_, &_tmp3_, &_tmp4_, &_tmp5_);
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (collection);
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ collection = _tmp3_;
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (start);
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ start = _tmp4_;
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp5_;
+#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp6_) {
+#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (start);
+#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (collection);
+#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (current_page);
+#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 5557 "LibraryWindow.c"
+ }
+#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = collection;
+#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = start;
+#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = view;
+#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = library_window_fullscreen_photo_page_new (_tmp7_, _tmp8_, _tmp9_);
+#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp10_);
+#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ fs_photo = _tmp10_;
+#line 653 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = fs_photo;
+#line 653 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_go_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE, Page));
+#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (fs_photo);
+#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (start);
+#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (collection);
+#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (current_page);
+#line 5585 "LibraryWindow.c"
+}
+
+
+static void _g_free0_ (gpointer var) {
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ var = (g_free (var), NULL);
+#line 5592 "LibraryWindow.c"
+}
+
+
+static void _g_slist_free__g_free0_ (GSList* self) {
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_slist_foreach (self, (GFunc) _g_free0_, NULL);
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_slist_free (self);
+#line 5601 "LibraryWindow.c"
+}
+
+
+static void library_window_on_file_import (LibraryWindow* self) {
+ GtkFileChooserDialog* import_dialog = NULL;
+ const gchar* _tmp0_ = NULL;
+ GtkFileChooserDialog* _tmp1_ = NULL;
+ GtkFileChooserDialog* _tmp2_ = NULL;
+ GtkFileChooserDialog* _tmp3_ = NULL;
+ GtkFileChooserDialog* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ gint response = 0;
+ GtkFileChooserDialog* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ GtkFileChooserDialog* _tmp23_ = NULL;
+ gchar* _tmp24_ = NULL;
+ GtkFileChooserDialog* _tmp25_ = NULL;
+#line 656 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _ ("Import From Folder");
+#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp0_, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_OK, NULL);
+#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp1_);
+#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import_dialog = _tmp1_;
+#line 660 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = import_dialog;
+#line 660 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE);
+#line 661 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = import_dialog;
+#line 661 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_file_chooser_set_select_multiple (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), TRUE);
+#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = import_dialog;
+#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = self->priv->import_dir;
+#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp5_);
+#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = import_dialog;
+#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_dialog_get_type (), GtkDialog));
+#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ response = _tmp7_;
+#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = response;
+#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_ == ((gint) GTK_RESPONSE_OK)) {
+#line 5654 "LibraryWindow.c"
+ GtkResponseType _tmp9_ = 0;
+ GtkFileChooserDialog* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ GFile* _tmp13_ = NULL;
+ GFile* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+ gboolean _tmp16_ = FALSE;
+ GtkResponseType copy_files_response = 0;
+ GtkResponseType _tmp18_ = 0;
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = import_dialog;
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = gtk_file_chooser_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser));
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = _tmp11_;
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = g_file_new_for_uri (_tmp12_);
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp13_;
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = app_dirs_is_in_import_dir (_tmp14_);
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = _tmp15_;
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp14_);
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp12_);
+#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp16_) {
+#line 670 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = GTK_RESPONSE_REJECT;
+#line 5687 "LibraryWindow.c"
+ } else {
+ GtkResponseType _tmp17_ = 0;
+#line 670 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = copy_files_dialog ();
+#line 670 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp17_;
+#line 5694 "LibraryWindow.c"
+ }
+#line 668 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ copy_files_response = _tmp9_;
+#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = copy_files_response;
+#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp18_ != GTK_RESPONSE_CANCEL) {
+#line 5702 "LibraryWindow.c"
+ GtkFileChooserDialog* _tmp19_ = NULL;
+ GSList* _tmp20_ = NULL;
+ GSList* _tmp21_ = NULL;
+ GtkResponseType _tmp22_ = 0;
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = import_dialog;
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = gtk_file_chooser_get_uris (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser));
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = _tmp20_;
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = copy_files_response;
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_dispatch_import_jobs (self, _tmp21_, "folders", _tmp22_ == GTK_RESPONSE_ACCEPT);
+#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ __g_slist_free__g_free0_0 (_tmp21_);
+#line 5719 "LibraryWindow.c"
+ }
+ }
+#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = import_dialog;
+#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = gtk_file_chooser_get_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser));
+#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (self->priv->import_dir);
+#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->import_dir = _tmp24_;
+#line 679 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = import_dialog;
+#line 679 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget));
+#line 656 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (import_dialog);
+#line 5736 "LibraryWindow.c"
+}
+
+
+static void library_window_on_external_library_import (LibraryWindow* self) {
+ GtkDialog* import_dialog = NULL;
+ DataImportsUIDataImportsDialog* _tmp0_ = NULL;
+#line 682 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 683 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = data_imports_ui_data_imports_dialog_get_or_create_instance ();
+#line 683 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import_dialog = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_dialog_get_type (), GtkDialog);
+#line 685 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_dialog_run (import_dialog);
+#line 682 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (import_dialog);
+#line 5753 "LibraryWindow.c"
+}
+
+
+static void library_window_real_update_common_action_availability (AppWindow* base, Page* old_page, Page* new_page) {
+ LibraryWindow * self;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ gboolean is_checkerboard = FALSE;
+ Page* _tmp2_ = NULL;
+#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page));
+#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page));
+#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = old_page;
+#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = new_page;
+#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ APP_WINDOW_CLASS (library_window_parent_class)->update_common_action_availability (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), _tmp0_, _tmp1_);
+#line 691 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = new_page;
+#line 691 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ is_checkerboard = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_CHECKERBOARD_PAGE);
+#line 693 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar", is_checkerboard);
+#line 694 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonFind", is_checkerboard);
+#line 5783 "LibraryWindow.c"
+}
+
+
+static void library_window_real_update_common_actions (AppWindow* base, Page* page, gint selected_count, gint count) {
+ LibraryWindow * self;
+ CollectionPage* collection = NULL;
+ Photo* start = NULL;
+ gboolean can_fullscreen = FALSE;
+ Page* _tmp0_ = NULL;
+ CollectionPage* _tmp1_ = NULL;
+ Photo* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ gboolean _tmp5_ = FALSE;
+ Page* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = library_window_get_fullscreen_photo (self, _tmp0_, &_tmp1_, &_tmp2_, NULL);
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (collection);
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ collection = _tmp1_;
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (start);
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ start = _tmp2_;
+#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ can_fullscreen = _tmp3_;
+#line 705 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = library_window_can_empty_trash (self);
+#line 705 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonEmptyTrash", _tmp4_);
+#line 706 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", TRUE);
+#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = library_window_can_jump_to_event (self);
+#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", _tmp5_);
+#line 708 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonFullscreen", can_fullscreen);
+#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = page;
+#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = selected_count;
+#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = count;
+#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ APP_WINDOW_CLASS (library_window_parent_class)->update_common_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), _tmp6_, _tmp7_, _tmp8_);
+#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (start);
+#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (collection);
+#line 5843 "LibraryWindow.c"
+}
+
+
+static void library_window_on_trashcan_contents_altered (LibraryWindow* self) {
+ gboolean _tmp0_ = FALSE;
+#line 713 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 714 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = library_window_can_empty_trash (self);
+#line 714 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonEmptyTrash", _tmp0_);
+#line 5855 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_can_empty_trash (LibraryWindow* self) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ LibraryPhotoSourceCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+#line 717 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = library_photo_global;
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = media_source_collection_get_trashcan_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_ > 0) {
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = TRUE;
+#line 5874 "LibraryWindow.c"
+ } else {
+ VideoSourceCollection* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = video_global;
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = media_source_collection_get_trashcan_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _tmp4_ > 0;
+#line 5884 "LibraryWindow.c"
+ }
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp0_;
+#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 5890 "LibraryWindow.c"
+}
+
+
+static void library_window_on_empty_trash (LibraryWindow* self) {
+ GeeArrayList* to_remove = NULL;
+ GeeArrayList* _tmp0_ = NULL;
+ LibraryPhotoSourceCollection* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ VideoSourceCollection* _tmp4_ = NULL;
+ GeeCollection* _tmp5_ = NULL;
+ GeeCollection* _tmp6_ = NULL;
+ const gchar* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ CommandManager* _tmp9_ = NULL;
+ CommandManager* _tmp10_ = NULL;
+#line 721 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 722 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 722 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ to_remove = _tmp0_;
+#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = library_photo_global;
+#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_array_list_add_all (to_remove, _tmp3_);
+#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp3_);
+#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = video_global;
+#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_array_list_add_all (to_remove, _tmp6_);
+#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp6_);
+#line 726 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _ ("Empty Trash");
+#line 726 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _ ("Emptying Trash...");
+#line 726 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (to_remove, GEE_TYPE_COLLECTION, GeeCollection), _tmp7_, _tmp8_);
+#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = app_window_get_command_manager ();
+#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = _tmp9_;
+#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ command_manager_reset (_tmp10_);
+#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _command_manager_unref0 (_tmp10_);
+#line 721 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (to_remove);
+#line 5949 "LibraryWindow.c"
+}
+
+
+static void library_window_on_new_search (LibraryWindow* self) {
+ SavedSearchDialog* _tmp0_ = NULL;
+ SavedSearchDialog* _tmp1_ = NULL;
+#line 731 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = saved_search_dialog_new ();
+#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ saved_search_dialog_show (_tmp1_);
+#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _saved_search_dialog_unref0 (_tmp1_);
+#line 5966 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_can_jump_to_event (LibraryWindow* self) {
+ gboolean result = FALSE;
+ ViewCollection* view = NULL;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ ViewCollection* _tmp3_ = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+#line 735 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_get_view (_tmp1_);
+#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp3_;
+#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = view;
+#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = view_collection_get_selected_count (_tmp4_);
+#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp5_ == 1) {
+#line 5999 "LibraryWindow.c"
+ DataSource* selected_source = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ DataSource* _tmp7_ = NULL;
+ DataSource* _tmp8_ = NULL;
+#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = view;
+#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = view_collection_get_selected_source_at (_tmp6_, 0);
+#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ selected_source = _tmp7_;
+#line 739 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = selected_source;
+#line 739 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_EVENT)) {
+#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (selected_source);
+#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6022 "LibraryWindow.c"
+ } else {
+ DataSource* _tmp9_ = NULL;
+#line 741 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = selected_source;
+#line 741 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_MEDIA_SOURCE)) {
+#line 6029 "LibraryWindow.c"
+ ViewCollection* _tmp10_ = NULL;
+ DataSource* _tmp11_ = NULL;
+ MediaSource* _tmp12_ = NULL;
+ Event* _tmp13_ = NULL;
+ Event* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = view;
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = view_collection_get_selected_source_at (_tmp10_, 0);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = media_source_get_event (_tmp12_);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp13_;
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = _tmp14_ != NULL;
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp14_);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp12_);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp15_;
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (selected_source);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6060 "LibraryWindow.c"
+ } else {
+#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (selected_source);
+#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6070 "LibraryWindow.c"
+ }
+ }
+#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (selected_source);
+#line 6075 "LibraryWindow.c"
+ } else {
+#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6083 "LibraryWindow.c"
+ }
+#line 735 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 6087 "LibraryWindow.c"
+}
+
+
+static void library_window_on_jump_to_event (LibraryWindow* self) {
+ ViewCollection* view = NULL;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ ViewCollection* _tmp3_ = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ MediaSource* media = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ DataSource* _tmp7_ = NULL;
+ MediaSource* _tmp8_ = NULL;
+ MediaSource* _tmp9_ = NULL;
+ MediaSource* _tmp10_ = NULL;
+ Event* _tmp11_ = NULL;
+ Event* _tmp12_ = NULL;
+ gboolean _tmp13_ = FALSE;
+#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_get_view (_tmp1_);
+#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp3_;
+#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = view;
+#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = view_collection_get_selected_count (_tmp4_);
+#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp5_ != 1) {
+#line 754 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 754 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 6132 "LibraryWindow.c"
+ }
+#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = view;
+#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = view_collection_get_selected_source_at (_tmp6_, 0);
+#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp7_) : NULL;
+#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_ == NULL) {
+#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp7_);
+#line 6144 "LibraryWindow.c"
+ }
+#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ media = _tmp8_;
+#line 757 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = media;
+#line 757 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp9_ == NULL) {
+#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (media);
+#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 6158 "LibraryWindow.c"
+ }
+#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = media;
+#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = media_source_get_event (_tmp10_);
+#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = _tmp11_;
+#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = _tmp12_ != NULL;
+#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp12_);
+#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp13_) {
+#line 6172 "LibraryWindow.c"
+ MediaSource* _tmp14_ = NULL;
+ Event* _tmp15_ = NULL;
+ Event* _tmp16_ = NULL;
+#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = media;
+#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = media_source_get_event (_tmp14_);
+#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = _tmp15_;
+#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_event (self, _tmp16_);
+#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp16_);
+#line 6186 "LibraryWindow.c"
+ }
+#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (media);
+#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 6192 "LibraryWindow.c"
+}
+
+
+static void library_window_on_find (LibraryWindow* self) {
+ GtkToggleAction* action = NULL;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ GtkAction* _tmp2_ = NULL;
+ GtkToggleAction* _tmp3_ = NULL;
+ SearchFilterToolbar* _tmp4_ = NULL;
+#line 764 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_get_common_action (_tmp1_, "CommonDisplaySearchbar", TRUE);
+#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_toggle_action_get_type (), GtkToggleAction);
+#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ action = _tmp3_;
+#line 767 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_toggle_action_set_active (action, TRUE);
+#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->search_toolbar;
+#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_filter_toolbar_take_focus (_tmp4_);
+#line 764 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (action);
+#line 6225 "LibraryWindow.c"
+}
+
+
+static void library_window_on_media_altered (LibraryWindow* self) {
+ gboolean _tmp0_ = FALSE;
+#line 773 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 774 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = library_window_can_jump_to_event (self);
+#line 774 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", _tmp0_);
+#line 6237 "LibraryWindow.c"
+}
+
+
+static void library_window_on_clear_search (LibraryWindow* self) {
+ gboolean _tmp0_ = FALSE;
+#line 777 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->is_search_toolbar_visible;
+#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_) {
+#line 6249 "LibraryWindow.c"
+ SearchFilterActions* _tmp1_ = NULL;
+#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->search_actions;
+#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_filter_actions_reset (_tmp1_);
+#line 6255 "LibraryWindow.c"
+ }
+}
+
+
+gint library_window_get_events_sort (LibraryWindow* self) {
+ gint result = 0;
+ GtkRadioAction* action = NULL;
+ GtkAction* _tmp0_ = NULL;
+ GtkRadioAction* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ GtkRadioAction* _tmp3_ = NULL;
+#line 782 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), 0);
+#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonSortEventsAscending");
+#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp0_) : NULL;
+#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp1_ == NULL) {
+#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp0_);
+#line 6277 "LibraryWindow.c"
+ }
+#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ action = _tmp1_;
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = action;
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 6285 "LibraryWindow.c"
+ GtkRadioAction* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = action;
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = gtk_radio_action_get_current_value (_tmp4_);
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp6_;
+#line 6297 "LibraryWindow.c"
+ } else {
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING;
+#line 6301 "LibraryWindow.c"
+ }
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp2_;
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (action);
+#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6309 "LibraryWindow.c"
+}
+
+
+static void library_window_on_events_sort_changed (LibraryWindow* self, GtkAction* action, GtkAction* c) {
+ GtkRadioAction* current = NULL;
+ GtkAction* _tmp0_ = NULL;
+ GtkRadioAction* _tmp1_ = NULL;
+ ConfigFacade* _tmp2_ = NULL;
+ ConfigFacade* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (c));
+#line 789 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = c;
+#line 789 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction));
+#line 789 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ current = _tmp1_;
+#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = config_facade_get_instance ();
+#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = gtk_radio_action_get_current_value (current);
+#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp5_ == LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING);
+#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp3_);
+#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (current);
+#line 6347 "LibraryWindow.c"
+}
+
+
+static void library_window_on_preferences (LibraryWindow* self) {
+#line 795 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 796 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ preferences_dialog_show ();
+#line 6356 "LibraryWindow.c"
+}
+
+
+static void library_window_on_display_basic_properties (LibraryWindow* self, GtkAction* action) {
+ gboolean display = FALSE;
+ GtkAction* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ ConfigFacade* _tmp10_ = NULL;
+ ConfigFacade* _tmp11_ = NULL;
+ gboolean _tmp12_ = FALSE;
+#line 799 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 799 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 800 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = action;
+#line 800 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction));
+#line 800 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ display = _tmp1_;
+#line 802 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = display;
+#line 802 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_) {
+#line 6382 "LibraryWindow.c"
+ BasicProperties* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+ GtkFrame* _tmp6_ = NULL;
+#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->basic_properties;
+#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PROPERTIES, Properties), _tmp5_);
+#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->bottom_frame;
+#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
+#line 6401 "LibraryWindow.c"
+ } else {
+ GtkPaned* _tmp7_ = NULL;
+ GtkWidget* _tmp8_ = NULL;
+#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = self->priv->sidebar_paned;
+#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = gtk_paned_get_child2 (_tmp7_);
+#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_ != NULL) {
+#line 6411 "LibraryWindow.c"
+ GtkFrame* _tmp9_ = NULL;
+#line 807 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = self->priv->bottom_frame;
+#line 807 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
+#line 6417 "LibraryWindow.c"
+ }
+ }
+#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = config_facade_get_instance ();
+#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _tmp10_;
+#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = display;
+#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_display_basic_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp12_);
+#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp11_);
+#line 6430 "LibraryWindow.c"
+}
+
+
+static void library_window_on_display_extended_properties (LibraryWindow* self, GtkAction* action) {
+ gboolean display = FALSE;
+ GtkAction* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+#line 815 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 815 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 816 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = action;
+#line 816 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction));
+#line 816 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ display = _tmp1_;
+#line 818 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = display;
+#line 818 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_) {
+#line 6453 "LibraryWindow.c"
+ ExtendedPropertiesWindow* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+ ExtendedPropertiesWindow* _tmp6_ = NULL;
+#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->extended_properties;
+#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_properties_window_update_properties (_tmp3_, _tmp5_);
+#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 820 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->extended_properties;
+#line 820 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
+#line 6472 "LibraryWindow.c"
+ } else {
+ ExtendedPropertiesWindow* _tmp7_ = NULL;
+#line 822 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = self->priv->extended_properties;
+#line 822 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
+#line 6479 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_on_display_searchbar (LibraryWindow* self, GtkAction* action) {
+ gboolean is_shown = FALSE;
+ GtkAction* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ ConfigFacade* _tmp2_ = NULL;
+ ConfigFacade* _tmp3_ = NULL;
+#line 826 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 826 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 827 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = action;
+#line 827 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction));
+#line 827 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ is_shown = _tmp1_;
+#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = config_facade_get_instance ();
+#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), is_shown);
+#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp3_);
+#line 829 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_show_search_bar (self, is_shown);
+#line 6510 "LibraryWindow.c"
+}
+
+
+void library_window_show_search_bar (LibraryWindow* self, gboolean display) {
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ Page* _tmp5_ = NULL;
+ CheckerboardPage* _tmp6_ = NULL;
+ CheckerboardPage* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+#line 832 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_CHECKERBOARD_PAGE);
+#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_) {
+#line 834 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 6538 "LibraryWindow.c"
+ }
+#line 836 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = display;
+#line 836 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->is_search_toolbar_visible = _tmp3_;
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = library_window_should_show_search_bar (self);
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp5_) : NULL;
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp6_ == NULL) {
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 6554 "LibraryWindow.c"
+ }
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _tmp6_;
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_toggle_search_bar (self, _tmp4_, _tmp7_);
+#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp7_);
+#line 838 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = display;
+#line 838 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp8_) {
+#line 6566 "LibraryWindow.c"
+ SearchFilterActions* _tmp9_ = NULL;
+#line 839 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = self->priv->search_actions;
+#line 839 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_filter_actions_reset (_tmp9_);
+#line 6572 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_on_display_sidebar (LibraryWindow* self, GtkAction* action) {
+ GtkAction* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 842 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 842 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 843 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = action;
+#line 843 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction));
+#line 843 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_set_sidebar_visible (self, _tmp1_);
+#line 6590 "LibraryWindow.c"
+}
+
+
+static void library_window_set_sidebar_visible (LibraryWindow* self, gboolean visible) {
+ GtkPaned* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ ConfigFacade* _tmp2_ = NULL;
+ ConfigFacade* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 847 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->sidebar_paned;
+#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = visible;
+#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp1_);
+#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = config_facade_get_instance ();
+#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = visible;
+#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_display_sidebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_);
+#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp3_);
+#line 6618 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_is_sidebar_visible (LibraryWindow* self) {
+ gboolean result = FALSE;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+#line 852 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = configuration_facade_get_display_sidebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp3_;
+#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6644 "LibraryWindow.c"
+}
+
+
+static void library_window_on_display_toolbar (LibraryWindow* self, GtkAction* action) {
+ GtkAction* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 856 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 856 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 857 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = action;
+#line 857 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL);
+#line 857 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_set_toolbar_visible (self, _tmp1_);
+#line 6661 "LibraryWindow.c"
+}
+
+
+static void library_window_set_toolbar_visible (LibraryWindow* self, gboolean visible) {
+ GtkToolbar* toolbar = NULL;
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ GtkToolbar* _tmp2_ = NULL;
+ GtkToolbar* _tmp3_ = NULL;
+ GtkToolbar* _tmp4_ = NULL;
+ ConfigFacade* _tmp7_ = NULL;
+ ConfigFacade* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+#line 860 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_get_toolbar (_tmp1_);
+#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ toolbar = _tmp3_;
+#line 862 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = toolbar;
+#line 862 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_ != NULL) {
+#line 6693 "LibraryWindow.c"
+ GtkToolbar* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+#line 863 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = toolbar;
+#line 863 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = visible;
+#line 863 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), _tmp6_);
+#line 6702 "LibraryWindow.c"
+ }
+#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = config_facade_get_instance ();
+#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _tmp7_;
+#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = visible;
+#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_display_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp9_);
+#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp8_);
+#line 860 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (toolbar);
+#line 6716 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_is_toolbar_visible (LibraryWindow* self) {
+ gboolean result = FALSE;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+#line 868 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = configuration_facade_get_display_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp1_);
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp3_;
+#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 6742 "LibraryWindow.c"
+}
+
+
+static void library_window_show_extended_properties (LibraryWindow* self) {
+#line 872 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 873 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_sync_extended_properties (self, TRUE);
+#line 6751 "LibraryWindow.c"
+}
+
+
+static void library_window_hide_extended_properties (LibraryWindow* self) {
+#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 877 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_sync_extended_properties (self, FALSE);
+#line 6760 "LibraryWindow.c"
+}
+
+
+static void library_window_sync_extended_properties (LibraryWindow* self, gboolean show) {
+ GtkToggleAction* extended_display_action = NULL;
+ GtkAction* _tmp0_ = NULL;
+ GtkToggleAction* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ ConfigFacade* _tmp3_ = NULL;
+ ConfigFacade* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 880 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplayExtendedProperties");
+#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL;
+#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp1_ == NULL) {
+#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp0_);
+#line 6782 "LibraryWindow.c"
+ }
+#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_display_action = _tmp1_;
+#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (extended_display_action != NULL, "extended_display_action != null");
+#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = show;
+#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_toggle_action_set_active (extended_display_action, _tmp2_);
+#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = config_facade_get_instance ();
+#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = show;
+#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ configuration_facade_set_display_extended_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp5_);
+#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp4_);
+#line 880 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (extended_display_action);
+#line 6804 "LibraryWindow.c"
+}
+
+
+void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel) {
+ LibraryBranch* _tmp0_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp1_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp2_ = NULL;
+ BatchImport* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 890 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 890 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_BATCH_IMPORT (batch_import));
+#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->library_branch;
+#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = library_branch_get_import_queue_entry (_tmp0_);
+#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = batch_import;
+#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = allow_user_cancel;
+#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_import_queue_sidebar_entry_enqueue_and_schedule (_tmp2_, _tmp3_, _tmp4_);
+#line 6830 "LibraryWindow.c"
+}
+
+
+static void library_window_import_reporter (LibraryWindow* self, ImportManifest* manifest) {
+ ImportManifest* _tmp0_ = NULL;
+#line 894 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 894 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_IMPORT_MANIFEST (manifest));
+#line 895 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = manifest;
+#line 895 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ import_ui_report_manifest (_tmp0_, TRUE, NULL);
+#line 6844 "LibraryWindow.c"
+}
+
+
+static void _library_window_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) {
+#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_import_reporter ((LibraryWindow*) self, manifest);
+#line 6851 "LibraryWindow.c"
+}
+
+
+static void library_window_dispatch_import_jobs (LibraryWindow* self, GSList* uris, const gchar* job_name, gboolean copy_to_library) {
+ gboolean _tmp0_ = FALSE;
+ GFile* _tmp1_ = NULL;
+ GFile* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+ GeeArrayList* jobs = NULL;
+ GeeArrayList* _tmp18_ = NULL;
+ GSList* _tmp19_ = NULL;
+ GeeArrayList* _tmp33_ = NULL;
+ gint _tmp34_ = 0;
+ gint _tmp35_ = 0;
+#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (job_name != NULL);
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = app_dirs_get_import_dir ();
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = g_file_get_path (_tmp2_);
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = g_get_home_dir ();
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = g_strcmp0 (_tmp4_, _tmp5_) == 0;
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp4_);
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp6_) {
+#line 6891 "LibraryWindow.c"
+ gboolean _tmp7_ = FALSE;
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = self->priv->notify_library_is_home_dir;
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _tmp7_;
+#line 6897 "LibraryWindow.c"
+ } else {
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = FALSE;
+#line 6901 "LibraryWindow.c"
+ }
+#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_) {
+#line 6905 "LibraryWindow.c"
+ GtkResponseType response = 0;
+ const gchar* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ const gchar* _tmp12_ = NULL;
+ AppWindow* _tmp13_ = NULL;
+ AppWindow* _tmp14_ = NULL;
+ GtkResponseType _tmp15_ = 0;
+ GtkResponseType _tmp16_ = 0;
+ GtkResponseType _tmp17_ = 0;
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _ ("Shotwell is configured to import photos to your home directory.\n" "We recommend changing this in <span weight=\"bold\">Edit %s Preference" \
+"s</span>.\n" "Do you want to continue importing photos?");
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = g_strdup_printf (_tmp8_, "â–¸");
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = _tmp9_;
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _ ("_Import");
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = _ ("Library Location");
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = app_window_get_instance ();
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp13_;
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = app_window_affirm_cancel_question (_tmp10_, _tmp11_, _tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_window_get_type (), GtkWindow));
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = _tmp15_;
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp14_);
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp10_);
+#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ response = _tmp16_;
+#line 906 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = response;
+#line 906 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp17_ == GTK_RESPONSE_CANCEL) {
+#line 907 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 6947 "LibraryWindow.c"
+ }
+#line 909 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->notify_library_is_home_dir = FALSE;
+#line 6951 "LibraryWindow.c"
+ }
+#line 912 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = gee_array_list_new (TYPE_FILE_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL);
+#line 912 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ jobs = _tmp18_;
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = uris;
+#line 6959 "LibraryWindow.c"
+ {
+ GSList* uri_collection = NULL;
+ GSList* uri_it = NULL;
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri_collection = _tmp19_;
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ for (uri_it = uri_collection; uri_it != NULL; uri_it = uri_it->next) {
+#line 6967 "LibraryWindow.c"
+ gchar* _tmp20_ = NULL;
+ gchar* uri = NULL;
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = g_strdup ((const gchar*) uri_it->data);
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri = _tmp20_;
+#line 6974 "LibraryWindow.c"
+ {
+ GFile* file_or_dir = NULL;
+ const gchar* _tmp21_ = NULL;
+ GFile* _tmp22_ = NULL;
+ GFile* _tmp23_ = NULL;
+ gchar* _tmp24_ = NULL;
+ gchar* _tmp25_ = NULL;
+ gboolean _tmp26_ = FALSE;
+ GeeArrayList* _tmp28_ = NULL;
+ GFile* _tmp29_ = NULL;
+ gboolean _tmp30_ = FALSE;
+ FileImportJob* _tmp31_ = NULL;
+ FileImportJob* _tmp32_ = NULL;
+#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = uri;
+#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = g_file_new_for_uri (_tmp21_);
+#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ file_or_dir = _tmp22_;
+#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = file_or_dir;
+#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = g_file_get_path (_tmp23_);
+#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = _tmp24_;
+#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = _tmp25_ == NULL;
+#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp25_);
+#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp26_) {
+#line 7006 "LibraryWindow.c"
+ const gchar* _tmp27_ = NULL;
+#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = _ ("Photos cannot be imported from this directory.");
+#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_error_message (_tmp27_, NULL);
+#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (file_or_dir);
+#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (uri);
+#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ continue;
+#line 7018 "LibraryWindow.c"
+ }
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = jobs;
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = file_or_dir;
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = copy_to_library;
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = file_import_job_new (_tmp29_, _tmp30_);
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = _tmp31_;
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp32_);
+#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _batch_import_job_unref0 (_tmp32_);
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (file_or_dir);
+#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (uri);
+#line 7038 "LibraryWindow.c"
+ }
+ }
+ }
+#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = jobs;
+#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = _tmp34_;
+#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp35_ > 0) {
+#line 7050 "LibraryWindow.c"
+ BatchImport* batch_import = NULL;
+ GeeArrayList* _tmp36_ = NULL;
+ const gchar* _tmp37_ = NULL;
+ BatchImport* _tmp38_ = NULL;
+ BatchImport* _tmp39_ = NULL;
+#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = jobs;
+#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = job_name;
+#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ITERABLE, GeeIterable), _tmp37_, _library_window_import_reporter_batch_import_import_reporter, self, NULL, NULL, NULL, NULL, NULL);
+#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ batch_import = _tmp38_;
+#line 927 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp39_ = batch_import;
+#line 927 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_enqueue_batch_import (self, _tmp39_, TRUE);
+#line 928 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_import_queue_page (self);
+#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (batch_import);
+#line 7072 "LibraryWindow.c"
+ }
+#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (jobs);
+#line 7076 "LibraryWindow.c"
+}
+
+
+static GdkDragAction library_window_get_drag_action (LibraryWindow* self) {
+ GdkDragAction result = 0;
+ GdkModifierType mask = 0;
+ GdkWindow* _tmp0_ = NULL;
+ GdkDisplay* _tmp1_ = NULL;
+ GdkDeviceManager* _tmp2_ = NULL;
+ GdkDevice* _tmp3_ = NULL;
+ GdkModifierType _tmp4_ = 0;
+ gboolean ctrl = FALSE;
+ GdkModifierType _tmp5_ = 0;
+ gboolean alt = FALSE;
+ GdkModifierType _tmp6_ = 0;
+ gboolean shift = FALSE;
+ GdkModifierType _tmp7_ = 0;
+ gboolean _tmp8_ = FALSE;
+ gboolean _tmp9_ = FALSE;
+ gboolean _tmp10_ = FALSE;
+#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), 0);
+#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
+#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gdk_display_get_default ();
+#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = gdk_display_get_device_manager (_tmp1_);
+#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = gdk_device_manager_get_client_pointer (_tmp2_);
+#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gdk_window_get_device_position (_tmp0_, _tmp3_, NULL, NULL, &_tmp4_);
+#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ mask = _tmp4_;
+#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = mask;
+#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ctrl = (_tmp5_ & GDK_CONTROL_MASK) != 0;
+#line 939 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = mask;
+#line 939 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ alt = (_tmp6_ & GDK_MOD1_MASK) != 0;
+#line 940 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = mask;
+#line 940 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ shift = (_tmp7_ & GDK_SHIFT_MASK) != 0;
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = ctrl;
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp10_) {
+#line 7127 "LibraryWindow.c"
+ gboolean _tmp11_ = FALSE;
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = alt;
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = !_tmp11_;
+#line 7133 "LibraryWindow.c"
+ } else {
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = FALSE;
+#line 7137 "LibraryWindow.c"
+ }
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp9_) {
+#line 7141 "LibraryWindow.c"
+ gboolean _tmp12_ = FALSE;
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = shift;
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = !_tmp12_;
+#line 7147 "LibraryWindow.c"
+ } else {
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = FALSE;
+#line 7151 "LibraryWindow.c"
+ }
+#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_) {
+#line 943 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = GDK_ACTION_COPY;
+#line 943 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7159 "LibraryWindow.c"
+ } else {
+ gboolean _tmp13_ = FALSE;
+ gboolean _tmp14_ = FALSE;
+ gboolean _tmp15_ = FALSE;
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = ctrl;
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp15_) {
+#line 7168 "LibraryWindow.c"
+ gboolean _tmp16_ = FALSE;
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = alt;
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp16_;
+#line 7174 "LibraryWindow.c"
+ } else {
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = FALSE;
+#line 7178 "LibraryWindow.c"
+ }
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp14_) {
+#line 7182 "LibraryWindow.c"
+ gboolean _tmp17_ = FALSE;
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = shift;
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = !_tmp17_;
+#line 7188 "LibraryWindow.c"
+ } else {
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = FALSE;
+#line 7192 "LibraryWindow.c"
+ }
+#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp13_) {
+#line 945 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = GDK_ACTION_ASK;
+#line 945 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7200 "LibraryWindow.c"
+ } else {
+ gboolean _tmp18_ = FALSE;
+ gboolean _tmp19_ = FALSE;
+ gboolean _tmp20_ = FALSE;
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = ctrl;
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp20_) {
+#line 7209 "LibraryWindow.c"
+ gboolean _tmp21_ = FALSE;
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = alt;
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = !_tmp21_;
+#line 7215 "LibraryWindow.c"
+ } else {
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = FALSE;
+#line 7219 "LibraryWindow.c"
+ }
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp19_) {
+#line 7223 "LibraryWindow.c"
+ gboolean _tmp22_ = FALSE;
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = shift;
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = _tmp22_;
+#line 7229 "LibraryWindow.c"
+ } else {
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = FALSE;
+#line 7233 "LibraryWindow.c"
+ }
+#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp18_) {
+#line 947 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = GDK_ACTION_LINK;
+#line 947 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7241 "LibraryWindow.c"
+ } else {
+#line 949 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = GDK_ACTION_DEFAULT;
+#line 949 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7247 "LibraryWindow.c"
+ }
+ }
+ }
+}
+
+
+static gboolean library_window_real_drag_motion (GtkWidget* base, GdkDragContext* context, gint x, gint y, guint time) {
+ LibraryWindow * self;
+ gboolean result = FALSE;
+ GdkAtom target = 0U;
+ GdkDragContext* _tmp0_ = NULL;
+ GtkTargetList* _tmp1_ = NULL;
+ GdkAtom _tmp2_ = 0U;
+ GdkAtom _tmp3_ = 0U;
+ GdkDragContext* _tmp6_ = NULL;
+ GtkWidget* _tmp7_ = NULL;
+ GdkDragAction drag_action = 0;
+ GdkDragAction _tmp10_ = 0;
+ GdkDragAction _tmp11_ = 0;
+ GdkDragContext* _tmp12_ = NULL;
+ GdkDragAction _tmp13_ = 0;
+ guint _tmp14_ = 0U;
+#line 952 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 952 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE);
+#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = context;
+#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_drag_dest_get_target_list (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
+#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = gtk_drag_dest_find_target (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp0_, _tmp1_);
+#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ target = _tmp2_;
+#line 956 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = target;
+#line 956 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (((gint) _tmp3_) == 0) {
+#line 7286 "LibraryWindow.c"
+ GdkDragContext* _tmp4_ = NULL;
+ guint _tmp5_ = 0U;
+#line 957 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:957: drag target is GDK_NONE");
+#line 958 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = context;
+#line 958 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = time;
+#line 958 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gdk_drag_status (_tmp4_, 0, (guint32) _tmp5_);
+#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7301 "LibraryWindow.c"
+ }
+#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = context;
+#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = gtk_drag_get_source_widget (_tmp6_);
+#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp7_ != NULL) {
+#line 7309 "LibraryWindow.c"
+ GdkDragContext* _tmp8_ = NULL;
+ guint _tmp9_ = 0U;
+#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = context;
+#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = time;
+#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gdk_drag_status (_tmp8_, GDK_ACTION_PRIVATE, (guint32) _tmp9_);
+#line 967 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 967 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7322 "LibraryWindow.c"
+ }
+#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = library_window_get_drag_action (self);
+#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ drag_action = _tmp10_;
+#line 973 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = drag_action;
+#line 973 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp11_ == GDK_ACTION_DEFAULT) {
+#line 974 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ drag_action = GDK_ACTION_ASK;
+#line 7334 "LibraryWindow.c"
+ }
+#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = context;
+#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = drag_action;
+#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = time;
+#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gdk_drag_status (_tmp12_, _tmp13_, (guint32) _tmp14_);
+#line 978 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 978 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 7348 "LibraryWindow.c"
+}
+
+
+static void library_window_real_drag_data_received (GtkWidget* base, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time) {
+ LibraryWindow * self;
+ GtkSelectionData* _tmp0_ = NULL;
+ guchar* _tmp1_ = NULL;
+ GdkDragContext* _tmp2_ = NULL;
+ GtkWidget* _tmp3_ = NULL;
+#line 981 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 981 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+#line 981 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (selection_data != NULL);
+#line 983 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = selection_data;
+#line 983 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_selection_data_get_data (_tmp0_);
+#line 983 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (-1 < 0) {
+#line 984 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:984: failed to retrieve SelectionData");
+#line 7372 "LibraryWindow.c"
+ }
+#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = context;
+#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = gtk_drag_get_source_widget (_tmp2_);
+#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ == NULL) {
+#line 7380 "LibraryWindow.c"
+ GdkDragContext* _tmp4_ = NULL;
+ GtkSelectionData* _tmp5_ = NULL;
+ guint _tmp6_ = 0U;
+ guint _tmp7_ = 0U;
+#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = context;
+#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = selection_data;
+#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = info;
+#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = time;
+#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_external_drop_handler (self, _tmp4_, NULL, _tmp5_, _tmp6_, _tmp7_);
+#line 7395 "LibraryWindow.c"
+ } else {
+ GdkDragContext* _tmp8_ = NULL;
+ guint _tmp9_ = 0U;
+#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = context;
+#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = time;
+#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_drag_finish (_tmp8_, FALSE, FALSE, (guint32) _tmp9_);
+#line 7405 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_external_drop_handler (LibraryWindow* self, GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time) {
+ gchar** uris_array = NULL;
+ GtkSelectionData* _tmp0_ = NULL;
+ gchar** _tmp1_ = NULL;
+ gchar** _tmp2_ = NULL;
+ gint uris_array_length1 = 0;
+ gint _uris_array_size_ = 0;
+ GSList* uris = NULL;
+ gchar** _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ GdkDragAction selected_action = 0;
+ GdkDragContext* _tmp7_ = NULL;
+ GdkDragAction _tmp8_ = 0;
+ GdkDragAction _tmp9_ = 0;
+ GSList* _tmp21_ = NULL;
+ GdkDragAction _tmp22_ = 0;
+ GdkDragContext* _tmp23_ = NULL;
+ guint _tmp24_ = 0U;
+#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail ((entry == NULL) || SIDEBAR_IS_ENTRY (entry));
+#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (data != NULL);
+#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = data;
+#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_ = gtk_selection_data_get_uris (_tmp0_);
+#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uris_array = _tmp2_;
+#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uris_array_length1 = _vala_array_length (_tmp1_);
+#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _uris_array_size_ = uris_array_length1;
+#line 998 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uris = NULL;
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = uris_array;
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3__length1 = uris_array_length1;
+#line 7452 "LibraryWindow.c"
+ {
+ gchar** uri_collection = NULL;
+ gint uri_collection_length1 = 0;
+ gint _uri_collection_size_ = 0;
+ gint uri_it = 0;
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri_collection = _tmp3_;
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri_collection_length1 = _tmp3__length1;
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ for (uri_it = 0; uri_it < _tmp3__length1; uri_it = uri_it + 1) {
+#line 7464 "LibraryWindow.c"
+ gchar* _tmp4_ = NULL;
+ gchar* uri = NULL;
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = g_strdup (uri_collection[uri_it]);
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri = _tmp4_;
+#line 7471 "LibraryWindow.c"
+ {
+ const gchar* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = uri;
+#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = g_strdup (_tmp5_);
+#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uris = g_slist_append (uris, _tmp6_);
+#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (uri);
+#line 7483 "LibraryWindow.c"
+ }
+ }
+ }
+#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = context;
+#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = gdk_drag_context_get_selected_action (_tmp7_);
+#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ selected_action = _tmp8_;
+#line 1003 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = selected_action;
+#line 1003 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp9_ == GDK_ACTION_ASK) {
+#line 7497 "LibraryWindow.c"
+ GtkResponseType _result_ = 0;
+ GSList* _tmp10_ = NULL;
+ GtkResponseType _tmp18_ = 0;
+#line 1005 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _result_ = GTK_RESPONSE_REJECT;
+#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = uris;
+#line 7505 "LibraryWindow.c"
+ {
+ GSList* uri_collection = NULL;
+ GSList* uri_it = NULL;
+#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri_collection = _tmp10_;
+#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ for (uri_it = uri_collection; uri_it != NULL; uri_it = uri_it->next) {
+#line 7513 "LibraryWindow.c"
+ gchar* _tmp11_ = NULL;
+ gchar* uri = NULL;
+#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = g_strdup ((const gchar*) uri_it->data);
+#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri = _tmp11_;
+#line 7520 "LibraryWindow.c"
+ {
+ const gchar* _tmp12_ = NULL;
+ GFile* _tmp13_ = NULL;
+ GFile* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+ gboolean _tmp16_ = FALSE;
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = uri;
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = g_file_new_for_uri (_tmp12_);
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp13_;
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = app_dirs_is_in_import_dir (_tmp14_);
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = !_tmp15_;
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp14_);
+#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp16_) {
+#line 7541 "LibraryWindow.c"
+ GtkResponseType _tmp17_ = 0;
+#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = copy_files_dialog ();
+#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _result_ = _tmp17_;
+#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (uri);
+#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ break;
+#line 7551 "LibraryWindow.c"
+ }
+#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (uri);
+#line 7555 "LibraryWindow.c"
+ }
+ }
+ }
+#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = _result_;
+#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ switch (_tmp18_) {
+#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ case GTK_RESPONSE_ACCEPT:
+#line 7565 "LibraryWindow.c"
+ {
+#line 1016 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ selected_action = GDK_ACTION_COPY;
+#line 1017 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ break;
+#line 7571 "LibraryWindow.c"
+ }
+#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ case GTK_RESPONSE_REJECT:
+#line 7575 "LibraryWindow.c"
+ {
+#line 1020 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ selected_action = GDK_ACTION_LINK;
+#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ break;
+#line 7581 "LibraryWindow.c"
+ }
+ default:
+ {
+ GdkDragContext* _tmp19_ = NULL;
+ guint _tmp20_ = 0U;
+#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = context;
+#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = time;
+#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_drag_finish (_tmp19_, FALSE, FALSE, (guint32) _tmp20_);
+#line 1027 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ __g_slist_free__g_free0_0 (uris);
+#line 1027 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uris_array = (_vala_array_free (uris_array, uris_array_length1, (GDestroyNotify) g_free), NULL);
+#line 1027 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 7599 "LibraryWindow.c"
+ }
+ }
+ }
+#line 1031 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = uris;
+#line 1031 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = selected_action;
+#line 1031 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_dispatch_import_jobs (self, _tmp21_, "drag-and-drop", _tmp22_ == GDK_ACTION_COPY);
+#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = context;
+#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = time;
+#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_drag_finish (_tmp23_, TRUE, FALSE, (guint32) _tmp24_);
+#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ __g_slist_free__g_free0_0 (uris);
+#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uris_array = (_vala_array_free (uris_array, uris_array_length1, (GDestroyNotify) g_free), NULL);
+#line 7619 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_library_page (LibraryWindow* self) {
+ LibraryBranch* _tmp0_ = NULL;
+ LibraryPhotosEntry* _tmp1_ = NULL;
+ LibraryPhotosEntry* _tmp2_ = NULL;
+ Page* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+#line 1036 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->library_branch;
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = library_branch_get_photos_entry (_tmp0_);
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp4_);
+#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp4_);
+#line 7645 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_event (LibraryWindow* self, Event* event) {
+ EventsEventEntry* entry = NULL;
+ EventsBranch* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ EventsEventEntry* _tmp2_ = NULL;
+ EventsEventEntry* _tmp3_ = NULL;
+#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->events_branch;
+#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = event;
+#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = events_branch_get_entry_for_event (_tmp0_, _tmp1_);
+#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 1042 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 1042 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 7671 "LibraryWindow.c"
+ EventsEventEntry* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+ Page* _tmp6_ = NULL;
+#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = entry;
+#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp6_);
+#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp6_);
+#line 7685 "LibraryWindow.c"
+ }
+#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 7689 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_tag (LibraryWindow* self, Tag* tag) {
+ TagsSidebarEntry* entry = NULL;
+ TagsBranch* _tmp0_ = NULL;
+ Tag* _tmp1_ = NULL;
+ TagsSidebarEntry* _tmp2_ = NULL;
+ TagsSidebarEntry* _tmp3_ = NULL;
+#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_TAG (tag));
+#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->tags_branch;
+#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = tag;
+#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = tags_branch_get_entry_for_tag (_tmp0_, _tmp1_);
+#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 1048 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 1048 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 7715 "LibraryWindow.c"
+ TagsSidebarEntry* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+ Page* _tmp6_ = NULL;
+#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = entry;
+#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp6_);
+#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp6_);
+#line 7729 "LibraryWindow.c"
+ }
+#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 7733 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_saved_search (LibraryWindow* self, SavedSearch* search) {
+ SearchesSidebarEntry* entry = NULL;
+ SearchesBranch* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ SearchesSidebarEntry* _tmp2_ = NULL;
+ SearchesSidebarEntry* _tmp3_ = NULL;
+#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->saved_search_branch;
+#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = search;
+#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = searches_branch_get_entry_for_saved_search (_tmp0_, _tmp1_);
+#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 1054 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 1054 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ != NULL) {
+#line 7759 "LibraryWindow.c"
+ SearchesSidebarEntry* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+ Page* _tmp6_ = NULL;
+#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = entry;
+#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp6_);
+#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp6_);
+#line 7773 "LibraryWindow.c"
+ }
+#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 7777 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current) {
+ CollectionPage* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ Photo* _tmp3_ = NULL;
+ DataView* _tmp4_ = NULL;
+ DataView* _tmp5_ = NULL;
+ LibraryPhotoPage* _tmp6_ = NULL;
+ LibraryPhotoPage* _tmp9_ = NULL;
+ CollectionPage* _tmp10_ = NULL;
+ Photo* _tmp11_ = NULL;
+ LibraryPhotoPage* _tmp12_ = NULL;
+#line 1058 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1058 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_COLLECTION_PAGE (controller));
+#line 1058 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PHOTO (current));
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = controller;
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page));
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = current;
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = view_collection_get_view_for_source (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_SOURCE, DataSource));
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp5_ != NULL, "controller.get_view().get_view_for_source(current) != null");
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp2_);
+#line 1060 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->photo_page;
+#line 1060 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp6_ == NULL) {
+#line 7821 "LibraryWindow.c"
+ LibraryPhotoPage* _tmp7_ = NULL;
+ LibraryPhotoPage* _tmp8_ = NULL;
+#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = library_photo_page_new ();
+#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp7_);
+#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->photo_page);
+#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->photo_page = _tmp7_;
+#line 1062 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = self->priv->photo_page;
+#line 1062 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_add_to_stack (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE, Page));
+#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ spin_event_loop ();
+#line 7838 "LibraryWindow.c"
+ }
+#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = self->priv->photo_page;
+#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = controller;
+#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = current;
+#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_photo_page_display_for_collection (_tmp9_, _tmp10_, _tmp11_, NULL);
+#line 1070 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = self->priv->photo_page;
+#line 1070 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PAGE, Page));
+#line 7852 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_import_queue_page (LibraryWindow* self) {
+ LibraryBranch* _tmp0_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp1_ = NULL;
+ LibraryImportQueueSidebarEntry* _tmp2_ = NULL;
+ Page* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+#line 1073 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->library_branch;
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = library_branch_get_import_queue_entry (_tmp0_);
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp4_);
+#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp4_);
+#line 7878 "LibraryWindow.c"
+}
+
+
+static void library_window_on_camera_added (LibraryWindow* self, DiscoveredCamera* camera) {
+ CameraSidebarEntry* entry = NULL;
+ CameraBranch* _tmp0_ = NULL;
+ DiscoveredCamera* _tmp1_ = NULL;
+ CameraSidebarEntry* _tmp2_ = NULL;
+ CameraSidebarEntry* _tmp3_ = NULL;
+ ImportPage* page = NULL;
+ CameraSidebarEntry* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+ GFile* uri_file = NULL;
+ DiscoveredCamera* _tmp6_ = NULL;
+ const gchar* _tmp7_ = NULL;
+ GFile* _tmp8_ = NULL;
+ GMount* mount = NULL;
+ gboolean _tmp13_ = FALSE;
+ GMount* _tmp14_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_DISCOVERED_CAMERA (camera));
+#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->camera_branch;
+#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = camera;
+#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = camera_branch_get_entry_for_camera (_tmp0_, _tmp1_);
+#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = _tmp2_;
+#line 1079 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = entry;
+#line 1079 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_ == NULL) {
+#line 1080 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 1080 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 7919 "LibraryWindow.c"
+ }
+#line 1082 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = entry;
+#line 1082 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1082 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ page = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_IMPORT_PAGE, ImportPage);
+#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = camera;
+#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _tmp6_->uri;
+#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = g_file_new_for_uri (_tmp7_);
+#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri_file = _tmp8_;
+#line 1086 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ mount = NULL;
+#line 7937 "LibraryWindow.c"
+ {
+ GMount* _tmp9_ = NULL;
+ GFile* _tmp10_ = NULL;
+ GMount* _tmp11_ = NULL;
+ GMount* _tmp12_ = NULL;
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = uri_file;
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = g_file_find_enclosing_mount (_tmp10_, NULL, &_inner_error_);
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp11_;
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 7951 "LibraryWindow.c"
+ goto __catch39_g_error;
+ }
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = _tmp9_;
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = NULL;
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ mount = _tmp12_;
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp9_);
+#line 7964 "LibraryWindow.c"
+ }
+ goto __finally39;
+ __catch39_g_error:
+ {
+ GError* err = NULL;
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ err = _inner_error_;
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _inner_error_ = NULL;
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_error_free0 (err);
+#line 7976 "LibraryWindow.c"
+ }
+ __finally39:
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (uri_file);
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (page);
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_clear_error (&_inner_error_);
+#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 7995 "LibraryWindow.c"
+ }
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = mount;
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp14_ != NULL) {
+#line 8001 "LibraryWindow.c"
+ DiscoveredCamera* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ gboolean _tmp17_ = FALSE;
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = camera;
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = _tmp15_->uri;
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = g_str_has_prefix (_tmp16_, "file://");
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = !_tmp17_;
+#line 8013 "LibraryWindow.c"
+ } else {
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = FALSE;
+#line 8017 "LibraryWindow.c"
+ }
+#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp13_) {
+#line 8021 "LibraryWindow.c"
+ ImportPage* _tmp18_ = NULL;
+ GMount* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = page;
+#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = mount;
+#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = import_page_unmount_camera (_tmp18_, _tmp19_);
+#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp20_) {
+#line 8033 "LibraryWindow.c"
+ ImportPage* _tmp21_ = NULL;
+#line 1096 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = page;
+#line 1096 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PAGE, Page));
+#line 8039 "LibraryWindow.c"
+ } else {
+#line 1098 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ app_window_error_message ("Unable to unmount the camera at this time.", NULL);
+#line 8043 "LibraryWindow.c"
+ }
+ } else {
+ ImportPage* _tmp22_ = NULL;
+#line 1100 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = page;
+#line 1100 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PAGE, Page));
+#line 8051 "LibraryWindow.c"
+ }
+#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (uri_file);
+#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (page);
+#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 8061 "LibraryWindow.c"
+}
+
+
+void library_window_add_to_stack (LibraryWindow* self, Page* page) {
+ Page* _tmp0_ = NULL;
+ GtkStack* _tmp1_ = NULL;
+ Page* _tmp2_ = NULL;
+ GtkStack* _tmp3_ = NULL;
+#line 1105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 1107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 1109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->stack;
+#line 1109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page;
+#line 1109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
+#line 1111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->stack;
+#line 1111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
+#line 8088 "LibraryWindow.c"
+}
+
+
+static void library_window_remove_from_stack (LibraryWindow* self, Page* page) {
+ GtkStack* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ GtkStack* _tmp2_ = NULL;
+#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->stack;
+#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page;
+#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
+#line 1118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->stack;
+#line 1118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
+#line 8110 "LibraryWindow.c"
+}
+
+
+static void library_window_load_configuration (LibraryWindow* self) {
+ GtkToggleAction* basic_display_action = NULL;
+ GtkAction* _tmp0_ = NULL;
+ GtkToggleAction* _tmp1_ = NULL;
+ GtkToggleAction* _tmp2_ = NULL;
+ GtkToggleAction* _tmp3_ = NULL;
+ ConfigFacade* _tmp4_ = NULL;
+ ConfigFacade* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+ GtkToggleAction* extended_display_action = NULL;
+ GtkAction* _tmp7_ = NULL;
+ GtkToggleAction* _tmp8_ = NULL;
+ GtkToggleAction* _tmp9_ = NULL;
+ GtkToggleAction* _tmp10_ = NULL;
+ ConfigFacade* _tmp11_ = NULL;
+ ConfigFacade* _tmp12_ = NULL;
+ gboolean _tmp13_ = FALSE;
+ GtkToggleAction* search_bar_display_action = NULL;
+ GtkAction* _tmp14_ = NULL;
+ GtkToggleAction* _tmp15_ = NULL;
+ GtkToggleAction* _tmp16_ = NULL;
+ GtkToggleAction* _tmp17_ = NULL;
+ ConfigFacade* _tmp18_ = NULL;
+ ConfigFacade* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+ GtkRadioAction* sort_events_action = NULL;
+ GtkAction* _tmp21_ = NULL;
+ GtkRadioAction* _tmp22_ = NULL;
+ GtkRadioAction* _tmp23_ = NULL;
+ gint _tmp24_ = 0;
+ ConfigFacade* _tmp25_ = NULL;
+ ConfigFacade* _tmp26_ = NULL;
+ gboolean _tmp27_ = FALSE;
+ gboolean _tmp28_ = FALSE;
+ gint event_sort_val = 0;
+ GtkRadioAction* _tmp29_ = NULL;
+#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplayBasicProperties");
+#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL;
+#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp1_ == NULL) {
+#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp0_);
+#line 8160 "LibraryWindow.c"
+ }
+#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ basic_display_action = _tmp1_;
+#line 1125 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = basic_display_action;
+#line 1125 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp2_ != NULL, "basic_display_action != null");
+#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = basic_display_action;
+#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = config_facade_get_instance ();
+#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = configuration_facade_get_display_basic_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_toggle_action_set_active (_tmp3_, _tmp6_);
+#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplayExtendedProperties");
+#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp7_) : NULL;
+#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_ == NULL) {
+#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp7_);
+#line 8188 "LibraryWindow.c"
+ }
+#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_display_action = _tmp8_;
+#line 1130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = extended_display_action;
+#line 1130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp9_ != NULL, "extended_display_action != null");
+#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = extended_display_action;
+#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = config_facade_get_instance ();
+#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = _tmp11_;
+#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = configuration_facade_get_display_extended_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_toggle_action_set_active (_tmp10_, _tmp13_);
+#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp12_);
+#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar");
+#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp14_) : NULL;
+#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp15_ == NULL) {
+#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp14_);
+#line 8216 "LibraryWindow.c"
+ }
+#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_bar_display_action = _tmp15_;
+#line 1135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = search_bar_display_action;
+#line 1135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp16_ != NULL, "search_bar_display_action != null");
+#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = search_bar_display_action;
+#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = config_facade_get_instance ();
+#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = _tmp18_;
+#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = configuration_facade_get_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_toggle_action_set_active (_tmp17_, _tmp20_);
+#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp19_);
+#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonSortEventsAscending");
+#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp21_) : NULL;
+#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp22_ == NULL) {
+#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp21_);
+#line 8244 "LibraryWindow.c"
+ }
+#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sort_events_action = _tmp22_;
+#line 1140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = sort_events_action;
+#line 1140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (_tmp23_ != NULL, "sort_events_action != null");
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = config_facade_get_instance ();
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = _tmp25_;
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = _tmp27_;
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp26_);
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp28_) {
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING;
+#line 8266 "LibraryWindow.c"
+ } else {
+#line 1146 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING;
+#line 8270 "LibraryWindow.c"
+ }
+#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ event_sort_val = _tmp24_;
+#line 1148 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = sort_events_action;
+#line 1148 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_radio_action_set_current_value (_tmp29_, event_sort_val);
+#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (sort_events_action);
+#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (search_bar_display_action);
+#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (extended_display_action);
+#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (basic_display_action);
+#line 8286 "LibraryWindow.c"
+}
+
+
+static gboolean _library_window_on_pulse_background_progress_bar_gsource_func (gpointer self) {
+ gboolean result;
+ result = library_window_on_pulse_background_progress_bar ((LibraryWindow*) self);
+#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 8295 "LibraryWindow.c"
+}
+
+
+static void library_window_start_pulse_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ GtkProgressBar* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ GtkProgressBar* _tmp6_ = NULL;
+ guint _tmp7_ = 0U;
+#line 1151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (label != NULL);
+#line 1152 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = priority;
+#line 1152 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->current_progress_priority;
+#line 1152 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_ < _tmp1_) {
+#line 1153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 8320 "LibraryWindow.c"
+ }
+#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = priority;
+#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_stop_pulse_background_progress_bar (self, _tmp2_, FALSE);
+#line 1157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = priority;
+#line 1157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->current_progress_priority = _tmp3_;
+#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->background_progress_bar;
+#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = label;
+#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_set_text (_tmp4_, _tmp5_);
+#line 1160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->background_progress_bar;
+#line 1160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_pulse (_tmp6_);
+#line 1161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_show_background_progress_bar (self);
+#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) LIBRARY_WINDOW_BACKGROUND_PROGRESS_PULSE_MSEC, _library_window_on_pulse_background_progress_bar_gsource_func, g_object_ref (self), g_object_unref);
+#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_pulse_id = _tmp7_;
+#line 8346 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_on_pulse_background_progress_bar (LibraryWindow* self) {
+ gboolean result = FALSE;
+ GtkProgressBar* _tmp0_ = NULL;
+#line 1167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 1168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->background_progress_bar;
+#line 1168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_pulse (_tmp0_);
+#line 1170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 1170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 8363 "LibraryWindow.c"
+}
+
+
+static void library_window_stop_pulse_background_progress_bar (LibraryWindow* self, gint priority, gboolean clear) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ guint _tmp2_ = 0U;
+ gboolean _tmp4_ = FALSE;
+#line 1173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = priority;
+#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->current_progress_priority;
+#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_ < _tmp1_) {
+#line 1175 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 8382 "LibraryWindow.c"
+ }
+#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->background_progress_pulse_id;
+#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_ != ((guint) 0)) {
+#line 8388 "LibraryWindow.c"
+ guint _tmp3_ = 0U;
+#line 1178 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->background_progress_pulse_id;
+#line 1178 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_source_remove (_tmp3_);
+#line 1179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_pulse_id = (guint) 0;
+#line 8396 "LibraryWindow.c"
+ }
+#line 1182 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = clear;
+#line 1182 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_) {
+#line 8402 "LibraryWindow.c"
+ gint _tmp5_ = 0;
+#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = priority;
+#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_clear_background_progress_bar (self, _tmp5_);
+#line 8408 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_update_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority, gdouble count, gdouble total) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ gdouble _tmp5_ = 0.0;
+ gint _tmp10_ = 0;
+ gdouble fraction = 0.0;
+ gdouble _tmp11_ = 0.0;
+ gdouble _tmp12_ = 0.0;
+ GtkProgressBar* _tmp13_ = NULL;
+ gdouble _tmp14_ = 0.0;
+ GtkProgressBar* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ const gchar* _tmp17_ = NULL;
+ gdouble _tmp18_ = 0.0;
+ gchar* _tmp19_ = NULL;
+ gchar* _tmp20_ = NULL;
+#line 1186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (label != NULL);
+#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = priority;
+#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->current_progress_priority;
+#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_ < _tmp1_) {
+#line 1189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 8444 "LibraryWindow.c"
+ }
+#line 1191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = priority;
+#line 1191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_stop_pulse_background_progress_bar (self, _tmp2_, FALSE);
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = count;
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp5_ <= 0.0) {
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = TRUE;
+#line 8456 "LibraryWindow.c"
+ } else {
+ gdouble _tmp6_ = 0.0;
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = total;
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp6_ <= 0.0;
+#line 8463 "LibraryWindow.c"
+ }
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_) {
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = TRUE;
+#line 8469 "LibraryWindow.c"
+ } else {
+ gdouble _tmp7_ = 0.0;
+ gdouble _tmp8_ = 0.0;
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = count;
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = total;
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp7_ >= _tmp8_;
+#line 8479 "LibraryWindow.c"
+ }
+#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_) {
+#line 8483 "LibraryWindow.c"
+ gint _tmp9_ = 0;
+#line 1194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = priority;
+#line 1194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_clear_background_progress_bar (self, _tmp9_);
+#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 8491 "LibraryWindow.c"
+ }
+#line 1199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = priority;
+#line 1199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->current_progress_priority = _tmp10_;
+#line 1201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = count;
+#line 1201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = total;
+#line 1201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ fraction = _tmp11_ / _tmp12_;
+#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = self->priv->background_progress_bar;
+#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = fraction;
+#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_set_fraction (_tmp13_, _tmp14_);
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = self->priv->background_progress_bar;
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = _ ("%s (%d%%)");
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = label;
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = fraction;
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = g_strdup_printf (_tmp16_, _tmp17_, (gint) (_tmp18_ * 100.0));
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = _tmp19_;
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_set_text (_tmp15_, _tmp20_);
+#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp20_);
+#line 1204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_show_background_progress_bar (self);
+#line 8527 "LibraryWindow.c"
+}
+
+
+static void library_window_clear_background_progress_bar (LibraryWindow* self, gint priority) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ GtkProgressBar* _tmp3_ = NULL;
+ GtkProgressBar* _tmp4_ = NULL;
+#line 1213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = priority;
+#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->current_progress_priority;
+#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_ < _tmp1_) {
+#line 1215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 8547 "LibraryWindow.c"
+ }
+#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = priority;
+#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_stop_pulse_background_progress_bar (self, _tmp2_, FALSE);
+#line 1219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->current_progress_priority = 0;
+#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->background_progress_bar;
+#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_set_fraction (_tmp3_, 0.0);
+#line 1222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->background_progress_bar;
+#line 1222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_progress_bar_set_text (_tmp4_, "");
+#line 1223 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_hide_background_progress_bar (self);
+#line 8565 "LibraryWindow.c"
+}
+
+
+static void library_window_show_background_progress_bar (LibraryWindow* self) {
+ gboolean _tmp0_ = FALSE;
+#line 1231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->background_progress_displayed;
+#line 1232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp0_) {
+#line 8577 "LibraryWindow.c"
+ GtkBox* _tmp1_ = NULL;
+ GtkFrame* _tmp2_ = NULL;
+ GtkFrame* _tmp3_ = NULL;
+#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->top_section;
+#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->background_progress_frame;
+#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_box_pack_end (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 1234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->background_progress_frame;
+#line 1234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
+#line 1235 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_displayed = TRUE;
+#line 8593 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_hide_background_progress_bar (LibraryWindow* self) {
+ gboolean _tmp0_ = FALSE;
+#line 1239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1240 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->background_progress_displayed;
+#line 1240 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_) {
+#line 8606 "LibraryWindow.c"
+ GtkBox* _tmp1_ = NULL;
+ GtkFrame* _tmp2_ = NULL;
+#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->top_section;
+#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->background_progress_frame;
+#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
+#line 1242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_displayed = FALSE;
+#line 8617 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_on_library_monitor_discovery_started (LibraryWindow* self) {
+ const gchar* _tmp0_ = NULL;
+#line 1246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1247 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _ ("Updating library...");
+#line 1247 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_start_pulse_background_progress_bar (self, _tmp0_, LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY);
+#line 8630 "LibraryWindow.c"
+}
+
+
+static void library_window_on_library_monitor_discovery_completed (LibraryWindow* self) {
+#line 1250 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1251 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_stop_pulse_background_progress_bar (self, LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY, TRUE);
+#line 8639 "LibraryWindow.c"
+}
+
+
+static void library_window_on_library_monitor_auto_update_progress (LibraryWindow* self, gint completed_files, gint total_files) {
+ gint _tmp0_ = 0;
+#line 1254 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = total_files;
+#line 1255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_ < LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES) {
+#line 1256 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_clear_background_progress_bar (self, LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY);
+#line 8653 "LibraryWindow.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _ ("Updating library...");
+#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = completed_files;
+#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = total_files;
+#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_update_background_progress_bar (self, _tmp1_, LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY, (gdouble) _tmp2_, (gdouble) _tmp3_);
+#line 8666 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_on_library_monitor_auto_import_preparing (LibraryWindow* self) {
+ const gchar* _tmp0_ = NULL;
+#line 1263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _ ("Preparing to auto-import photos...");
+#line 1264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_start_pulse_background_progress_bar (self, _tmp0_, LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY);
+#line 8679 "LibraryWindow.c"
+}
+
+
+static void library_window_on_library_monitor_auto_import_progress (LibraryWindow* self, guint64 completed_bytes, guint64 total_bytes) {
+ const gchar* _tmp0_ = NULL;
+ guint64 _tmp1_ = 0ULL;
+ guint64 _tmp2_ = 0ULL;
+#line 1268 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _ ("Auto-importing photos...");
+#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = completed_bytes;
+#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = total_bytes;
+#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_update_background_progress_bar (self, _tmp0_, LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY, (gdouble) _tmp1_, (gdouble) _tmp2_);
+#line 8697 "LibraryWindow.c"
+}
+
+
+static void library_window_on_metadata_writer_progress (LibraryWindow* self, guint completed, guint total) {
+ guint _tmp0_ = 0U;
+#line 1273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = total;
+#line 1274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_ < ((guint) LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES)) {
+#line 1275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_clear_background_progress_bar (self, LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY);
+#line 8711 "LibraryWindow.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+ guint _tmp2_ = 0U;
+ guint _tmp3_ = 0U;
+#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _ ("Writing metadata to files...");
+#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = completed;
+#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = total;
+#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_update_background_progress_bar (self, _tmp1_, LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY, (gdouble) _tmp2_, (gdouble) _tmp3_);
+#line 8724 "LibraryWindow.c"
+ }
+}
+
+
+static void library_window_create_layout (LibraryWindow* self, Page* start_page) {
+ GtkScrolledWindow* scrolled_sidebar = NULL;
+ GtkScrolledWindow* _tmp0_ = NULL;
+ SidebarTree* _tmp1_ = NULL;
+ GtkFrame* _tmp2_ = NULL;
+ GtkFrame* _tmp3_ = NULL;
+ GtkProgressBar* _tmp4_ = NULL;
+ GtkFrame* _tmp5_ = NULL;
+ GtkStyleContext* _tmp6_ = NULL;
+ GtkAlignment* bottom_alignment = NULL;
+ GtkAlignment* _tmp7_ = NULL;
+ BasicProperties* _tmp8_ = NULL;
+ GtkFrame* _tmp9_ = NULL;
+ GtkFrame* _tmp10_ = NULL;
+ GtkStyleContext* _tmp11_ = NULL;
+ GtkBox* _tmp12_ = NULL;
+ GtkPaned* _tmp13_ = NULL;
+ GtkBox* _tmp14_ = NULL;
+ GtkPaned* _tmp15_ = NULL;
+ GtkFrame* _tmp16_ = NULL;
+ GtkPaned* _tmp17_ = NULL;
+ GtkBox* _tmp18_ = NULL;
+ GtkBox* _tmp19_ = NULL;
+ SearchFilterToolbar* _tmp20_ = NULL;
+ GtkBox* _tmp21_ = NULL;
+ GtkStack* _tmp22_ = NULL;
+ GtkPaned* _tmp23_ = NULL;
+ GtkPaned* _tmp24_ = NULL;
+ GtkPaned* _tmp25_ = NULL;
+ SidebarTree* _tmp26_ = NULL;
+ GtkPaned* _tmp27_ = NULL;
+ GtkBox* _tmp28_ = NULL;
+ GtkPaned* _tmp29_ = NULL;
+ ConfigFacade* _tmp30_ = NULL;
+ ConfigFacade* _tmp31_ = NULL;
+ gint _tmp32_ = 0;
+ GtkStack* _tmp33_ = NULL;
+ gint _tmp34_ = 0;
+ gint _tmp35_ = 0;
+ GtkBox* _tmp36_ = NULL;
+ GtkPaned* _tmp37_ = NULL;
+ GtkBox* _tmp38_ = NULL;
+ Page* _tmp39_ = NULL;
+ Page* _tmp40_ = NULL;
+#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (start_page));
+#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
+#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp0_);
+#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ scrolled_sidebar = _tmp0_;
+#line 1286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_scrolled_window_set_policy (scrolled_sidebar, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->sidebar_tree;
+#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (scrolled_sidebar, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
+#line 1289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->background_progress_frame;
+#line 1289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), (guint) 2);
+#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->background_progress_frame;
+#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->background_progress_bar;
+#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
+#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = self->priv->background_progress_frame;
+#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
+#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_style_context_remove_class (_tmp6_, "frame");
+#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, 0.5f, (gfloat) 1, (gfloat) 0);
+#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp7_);
+#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ bottom_alignment = _tmp7_;
+#line 1296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_alignment_set_padding (bottom_alignment, (guint) 10, (guint) 10, (guint) 6, (guint) 0);
+#line 1297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = self->priv->basic_properties;
+#line 1297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (bottom_alignment, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
+#line 1299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = self->priv->bottom_frame;
+#line 1299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (bottom_alignment, gtk_widget_get_type (), GtkWidget));
+#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = self->priv->bottom_frame;
+#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget));
+#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_style_context_remove_class (_tmp11_, "frame");
+#line 1304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = self->priv->top_section;
+#line 1304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_box_pack_start (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (scrolled_sidebar, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
+#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = self->priv->sidebar_paned;
+#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = self->priv->top_section;
+#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_paned_pack1 (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE);
+#line 1307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = self->priv->sidebar_paned;
+#line 1307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = self->priv->bottom_frame;
+#line 1307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_paned_pack2 (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE);
+#line 1308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = self->priv->sidebar_paned;
+#line 1308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_paned_set_position (_tmp17_, 1000);
+#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp18_);
+#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->right_vbox);
+#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->right_vbox = _tmp18_;
+#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = self->priv->right_vbox;
+#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = self->priv->search_toolbar;
+#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = self->priv->right_vbox;
+#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = self->priv->stack;
+#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_box_pack_start (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
+#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
+#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp23_);
+#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->client_paned);
+#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->client_paned = _tmp23_;
+#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = self->priv->client_paned;
+#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = self->priv->sidebar_paned;
+#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_paned_pack1 (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE);
+#line 1316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = self->priv->sidebar_tree;
+#line 1316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget), LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH, -1);
+#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = self->priv->client_paned;
+#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = self->priv->right_vbox;
+#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_paned_pack2 (_tmp27_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE);
+#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = self->priv->client_paned;
+#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = config_facade_get_instance ();
+#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = _tmp30_;
+#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = configuration_facade_get_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_paned_set_position (_tmp29_, _tmp32_);
+#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp31_);
+#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = self->priv->stack;
+#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = library_window_get_PAGE_MIN_WIDTH ();
+#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = _tmp34_;
+#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget), _tmp35_, -1);
+#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = self->priv->layout;
+#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = self->priv->client_paned;
+#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_box_pack_end (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
+#line 1324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_ = self->priv->layout;
+#line 1324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget));
+#line 1326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp39_ = start_page;
+#line 1326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp39_);
+#line 1327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40_ = start_page;
+#line 1327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_widget_get_type (), GtkWidget));
+#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (bottom_alignment);
+#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (scrolled_sidebar);
+#line 8933 "LibraryWindow.c"
+}
+
+
+static void library_window_real_set_current_page (PageWindow* base, Page* page) {
+ LibraryWindow * self;
+ Page* _tmp0_ = NULL;
+#line 1330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 1330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp0_);
+#line 8948 "LibraryWindow.c"
+}
+
+
+void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable) {
+ gboolean _tmp0_ = FALSE;
+#line 1335 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = should_enable;
+#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->page_switching_enabled = _tmp0_;
+#line 8960 "LibraryWindow.c"
+}
+
+
+void library_window_switch_to_page (LibraryWindow* self, Page* page) {
+ gboolean _tmp0_ = FALSE;
+ Page* _tmp1_ = NULL;
+ Page* _tmp2_ = NULL;
+ Page* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ Page* current_page = NULL;
+ Page* _tmp5_ = NULL;
+ Page* _tmp6_ = NULL;
+ GtkStack* _tmp16_ = NULL;
+ Page* _tmp17_ = NULL;
+ Page* _tmp18_ = NULL;
+ Page* _tmp19_ = NULL;
+ gboolean _tmp21_ = FALSE;
+ Page* _tmp22_ = NULL;
+ SidebarEntry* entry = NULL;
+ GeeHashMap* _tmp23_ = NULL;
+ Page* _tmp24_ = NULL;
+ gpointer _tmp25_ = NULL;
+ SidebarEntry* _tmp26_ = NULL;
+ Page* _tmp37_ = NULL;
+ Page* _tmp39_ = NULL;
+ Page* _tmp40_ = NULL;
+ Page* _tmp41_ = NULL;
+ Page* _tmp42_ = NULL;
+ GtkToolbar* toolbar = NULL;
+ Page* _tmp43_ = NULL;
+ GtkToolbar* _tmp44_ = NULL;
+ GtkToolbar* _tmp45_ = NULL;
+ Page* _tmp51_ = NULL;
+#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->page_switching_enabled;
+#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp0_) {
+#line 1341 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 9004 "LibraryWindow.c"
+ }
+#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page;
+#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp1_ == _tmp3_;
+#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp3_);
+#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_) {
+#line 1344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 9020 "LibraryWindow.c"
+ }
+#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ current_page = _tmp5_;
+#line 1347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = current_page;
+#line 1347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp6_ != NULL) {
+#line 9030 "LibraryWindow.c"
+ GtkToolbar* toolbar = NULL;
+ Page* _tmp7_ = NULL;
+ GtkToolbar* _tmp8_ = NULL;
+ GtkToolbar* _tmp9_ = NULL;
+ Page* _tmp12_ = NULL;
+ Page* _tmp13_ = NULL;
+ Page* _tmp15_ = NULL;
+#line 1348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = current_page;
+#line 1348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = page_get_toolbar (_tmp7_);
+#line 1348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ toolbar = _tmp8_;
+#line 1349 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = toolbar;
+#line 1349 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp9_ != NULL) {
+#line 9048 "LibraryWindow.c"
+ GtkBox* _tmp10_ = NULL;
+ GtkToolbar* _tmp11_ = NULL;
+#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = self->priv->right_vbox;
+#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = toolbar;
+#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget));
+#line 9057 "LibraryWindow.c"
+ }
+#line 1352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = current_page;
+#line 1352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ page_switching_from (_tmp12_);
+#line 1356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = current_page;
+#line 1356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_LIBRARY_PHOTO_PAGE)) {
+#line 9067 "LibraryWindow.c"
+ SidebarTree* _tmp14_ = NULL;
+#line 1357 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = self->priv->sidebar_tree;
+#line 1357 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_enable_editing (_tmp14_);
+#line 9073 "LibraryWindow.c"
+ }
+#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = current_page;
+#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_unsubscribe_from_basic_information (self, _tmp15_);
+#line 1347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (toolbar);
+#line 9081 "LibraryWindow.c"
+ }
+#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = self->priv->stack;
+#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = page;
+#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_stack_set_visible_child (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget));
+#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = page;
+#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ PAGE_WINDOW_CLASS (library_window_parent_class)->set_current_page (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), TYPE_PAGE_WINDOW, PageWindow), _tmp18_);
+#line 1373 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = page;
+#line 1373 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_LIBRARY_PHOTO_PAGE)) {
+#line 9097 "LibraryWindow.c"
+ SidebarTree* _tmp20_ = NULL;
+#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = self->priv->sidebar_tree;
+#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_disable_editing (_tmp20_);
+#line 9103 "LibraryWindow.c"
+ }
+#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = library_window_should_show_search_bar (self);
+#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = page;
+#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_toggle_search_bar (self, _tmp21_, G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp22_) : NULL);
+#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = self->priv->page_map;
+#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = page;
+#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_);
+#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ entry = (SidebarEntry*) _tmp25_;
+#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = entry;
+#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp26_ != NULL) {
+#line 9123 "LibraryWindow.c"
+ SidebarExpandableEntry* expandable_entry = NULL;
+ SidebarEntry* _tmp27_ = NULL;
+ SidebarExpandableEntry* _tmp28_ = NULL;
+ gboolean _tmp29_ = FALSE;
+ SidebarExpandableEntry* _tmp30_ = NULL;
+ SidebarTree* _tmp35_ = NULL;
+ SidebarEntry* _tmp36_ = NULL;
+#line 1384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = entry;
+#line 1384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, SIDEBAR_TYPE_EXPANDABLE_ENTRY) ? ((SidebarExpandableEntry*) _tmp27_) : NULL);
+#line 1384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ expandable_entry = _tmp28_;
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = expandable_entry;
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp30_ != NULL) {
+#line 9141 "LibraryWindow.c"
+ SidebarExpandableEntry* _tmp31_ = NULL;
+ gboolean _tmp32_ = FALSE;
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = expandable_entry;
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = sidebar_expandable_entry_expand_on_select (_tmp31_);
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = _tmp32_;
+#line 9150 "LibraryWindow.c"
+ } else {
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = FALSE;
+#line 9154 "LibraryWindow.c"
+ }
+#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp29_) {
+#line 9158 "LibraryWindow.c"
+ SidebarTree* _tmp33_ = NULL;
+ SidebarEntry* _tmp34_ = NULL;
+#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = self->priv->sidebar_tree;
+#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = entry;
+#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_expand_to_entry (_tmp33_, _tmp34_);
+#line 9167 "LibraryWindow.c"
+ }
+#line 1388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = self->priv->sidebar_tree;
+#line 1388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = entry;
+#line 1388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ sidebar_tree_place_cursor (_tmp35_, _tmp36_, TRUE);
+#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (expandable_entry);
+#line 9177 "LibraryWindow.c"
+ }
+#line 1391 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_update_properties (self);
+#line 1393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = page;
+#line 1393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp37_, TYPE_CHECKERBOARD_PAGE)) {
+#line 9185 "LibraryWindow.c"
+ Page* _tmp38_ = NULL;
+#line 1394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_ = page;
+#line 1394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_init_view_filter (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_CHECKERBOARD_PAGE, CheckerboardPage));
+#line 9191 "LibraryWindow.c"
+ }
+#line 1396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp39_ = page;
+#line 1396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_widget_get_type (), GtkWidget));
+#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp41_ = _tmp40_;
+#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_subscribe_for_basic_information (self, _tmp41_);
+#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp41_);
+#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp42_ = page;
+#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ page_switched_to (_tmp42_);
+#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp43_ = page;
+#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp44_ = page_get_toolbar (_tmp43_);
+#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ toolbar = _tmp44_;
+#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp45_ = toolbar;
+#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp45_ != NULL) {
+#line 9219 "LibraryWindow.c"
+ GtkBox* _tmp46_ = NULL;
+ GtkToolbar* _tmp47_ = NULL;
+ GtkToolbar* _tmp48_ = NULL;
+ GtkToolbar* _tmp49_ = NULL;
+ gboolean _tmp50_ = FALSE;
+#line 1405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp46_ = self->priv->right_vbox;
+#line 1405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp47_ = toolbar;
+#line 1405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_widget_get_type (), GtkWidget));
+#line 1406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp48_ = toolbar;
+#line 1406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget));
+#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp49_ = toolbar;
+#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp50_ = library_window_is_toolbar_visible (self);
+#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_widget_get_type (), GtkWidget), _tmp50_);
+#line 9241 "LibraryWindow.c"
+ }
+#line 1410 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp51_ = page;
+#line 1410 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ page_ready (_tmp51_);
+#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (toolbar);
+#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (entry);
+#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (current_page);
+#line 9253 "LibraryWindow.c"
+}
+
+
+static void library_window_init_view_filter (LibraryWindow* self, CheckerboardPage* page) {
+ SearchFilterToolbar* _tmp0_ = NULL;
+ CheckerboardPage* _tmp1_ = NULL;
+ SearchViewFilter* _tmp2_ = NULL;
+ SearchViewFilter* _tmp3_ = NULL;
+ CheckerboardPage* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ CheckerboardPage* _tmp7_ = NULL;
+ SearchViewFilter* _tmp8_ = NULL;
+ SearchViewFilter* _tmp9_ = NULL;
+#line 1413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_CHECKERBOARD_PAGE (page));
+#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->search_toolbar;
+#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page;
+#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = checkerboard_page_get_search_view_filter (_tmp1_);
+#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp2_;
+#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_filter_toolbar_set_view_filter (_tmp0_, _tmp3_);
+#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _view_filter_unref0 (_tmp3_);
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = page;
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PAGE, Page));
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = page;
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = checkerboard_page_get_search_view_filter (_tmp7_);
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp8_;
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view_collection_install_view_filter (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_VIEW_FILTER, ViewFilter));
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _view_filter_unref0 (_tmp9_);
+#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp6_);
+#line 9302 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_should_show_search_bar (LibraryWindow* self) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ Page* _tmp1_ = NULL;
+ Page* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 1418 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_CHECKERBOARD_PAGE);
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_) {
+#line 9324 "LibraryWindow.c"
+ gboolean _tmp4_ = FALSE;
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->is_search_toolbar_visible;
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _tmp4_;
+#line 9330 "LibraryWindow.c"
+ } else {
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = FALSE;
+#line 9334 "LibraryWindow.c"
+ }
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp0_;
+#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 9340 "LibraryWindow.c"
+}
+
+
+static void library_window_toggle_search_bar (LibraryWindow* self, gboolean show, CheckerboardPage* page) {
+ SearchFilterToolbar* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+#line 1423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail ((page == NULL) || IS_CHECKERBOARD_PAGE (page));
+#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->search_toolbar;
+#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = show;
+#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gtk_revealer_set_reveal_child (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_revealer_get_type (), GtkRevealer), _tmp1_);
+#line 1425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = show;
+#line 1425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_) {
+#line 9362 "LibraryWindow.c"
+ CheckerboardPage* _tmp3_ = NULL;
+ SearchFilterToolbar* _tmp4_ = NULL;
+ CheckerboardPage* _tmp5_ = NULL;
+ SearchViewFilter* _tmp6_ = NULL;
+ SearchViewFilter* _tmp7_ = NULL;
+ CheckerboardPage* _tmp8_ = NULL;
+ ViewCollection* _tmp9_ = NULL;
+ ViewCollection* _tmp10_ = NULL;
+ CheckerboardPage* _tmp11_ = NULL;
+ SearchViewFilter* _tmp12_ = NULL;
+ SearchViewFilter* _tmp13_ = NULL;
+#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = page;
+#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (NULL != _tmp3_, "null != page");
+#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->search_toolbar;
+#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = page;
+#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = checkerboard_page_get_search_view_filter (_tmp5_);
+#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = _tmp6_;
+#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ search_filter_toolbar_set_view_filter (_tmp4_, _tmp7_);
+#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _view_filter_unref0 (_tmp7_);
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = page;
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE, Page));
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = _tmp9_;
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = page;
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = checkerboard_page_get_search_view_filter (_tmp11_);
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = _tmp12_;
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view_collection_install_view_filter (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_VIEW_FILTER, ViewFilter));
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _view_filter_unref0 (_tmp13_);
+#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp10_);
+#line 9408 "LibraryWindow.c"
+ } else {
+ CheckerboardPage* _tmp14_ = NULL;
+#line 1430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = page;
+#line 1430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp14_ != NULL) {
+#line 9415 "LibraryWindow.c"
+ CheckerboardPage* _tmp15_ = NULL;
+ ViewCollection* _tmp16_ = NULL;
+ ViewCollection* _tmp17_ = NULL;
+ DisabledViewFilter* _tmp18_ = NULL;
+ DisabledViewFilter* _tmp19_ = NULL;
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = page;
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE, Page));
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = _tmp16_;
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = disabled_view_filter_new ();
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = _tmp18_;
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view_collection_install_view_filter (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_VIEW_FILTER, ViewFilter));
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _view_filter_unref0 (_tmp19_);
+#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (_tmp17_);
+#line 9437 "LibraryWindow.c"
+ }
+ }
+}
+
+
+static void library_window_on_page_created (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page) {
+ GeeHashMap* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ GeeHashMap* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+ SidebarPageRepresentative* _tmp5_ = NULL;
+ Page* _tmp6_ = NULL;
+#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry));
+#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->page_map;
+#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page;
+#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (!_tmp2_, "!page_map.has_key(page)");
+#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->page_map;
+#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = page;
+#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = entry;
+#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 1439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = page;
+#line 1439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_add_to_stack (self, _tmp6_);
+#line 9477 "LibraryWindow.c"
+}
+
+
+static void library_window_on_destroying_page (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page) {
+ Page* _tmp0_ = NULL;
+ Page* _tmp1_ = NULL;
+ Page* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ Page* _tmp9_ = NULL;
+ gboolean removed = FALSE;
+ GeeHashMap* _tmp10_ = NULL;
+ Page* _tmp11_ = NULL;
+ gboolean _tmp12_ = FALSE;
+#line 1442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry));
+#line 1442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _tmp0_ == _tmp2_;
+#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp2_);
+#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp3_) {
+#line 9509 "LibraryWindow.c"
+ LibraryBranch* _tmp4_ = NULL;
+ LibraryPhotosEntry* _tmp5_ = NULL;
+ LibraryPhotosEntry* _tmp6_ = NULL;
+ Page* _tmp7_ = NULL;
+ Page* _tmp8_ = NULL;
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->library_branch;
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = library_branch_get_photos_entry (_tmp4_);
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp5_;
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _tmp7_;
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp8_);
+#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp8_);
+#line 9529 "LibraryWindow.c"
+ }
+#line 1447 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = page;
+#line 1447 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_remove_from_stack (self, _tmp9_);
+#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = self->priv->page_map;
+#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = page;
+#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL);
+#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ removed = _tmp12_;
+#line 1450 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _vala_assert (removed, "removed");
+#line 9545 "LibraryWindow.c"
+}
+
+
+static void library_window_on_sidebar_entry_selected (LibraryWindow* self, SidebarSelectableEntry* selectable) {
+ SidebarPageRepresentative* page_rep = NULL;
+ SidebarSelectableEntry* _tmp0_ = NULL;
+ SidebarPageRepresentative* _tmp1_ = NULL;
+ SidebarPageRepresentative* _tmp2_ = NULL;
+#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (SIDEBAR_IS_SELECTABLE_ENTRY (selectable));
+#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = selectable;
+#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE) ? ((SidebarPageRepresentative*) _tmp0_) : NULL);
+#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ page_rep = _tmp1_;
+#line 1455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = page_rep;
+#line 1455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_ != NULL) {
+#line 9568 "LibraryWindow.c"
+ SidebarPageRepresentative* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = page_rep;
+#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = sidebar_page_representative_get_page (_tmp3_);
+#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp5_);
+#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 9582 "LibraryWindow.c"
+ }
+#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (page_rep);
+#line 9586 "LibraryWindow.c"
+}
+
+
+static void library_window_on_sidebar_selected_entry_removed (LibraryWindow* self, SidebarSelectableEntry* selectable) {
+ LibraryLastImportSidebarEntry* last_import_entry = NULL;
+ LibraryBranch* _tmp0_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp1_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp2_ = NULL;
+ LibraryLastImportSidebarEntry* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ SidebarSelectableEntry* _tmp5_ = NULL;
+ gboolean _tmp12_ = FALSE;
+ SidebarSelectableEntry* _tmp13_ = NULL;
+ gboolean _tmp21_ = FALSE;
+ SidebarSelectableEntry* _tmp22_ = NULL;
+ LibraryBranch* _tmp30_ = NULL;
+ LibraryPhotosEntry* _tmp31_ = NULL;
+ LibraryPhotosEntry* _tmp32_ = NULL;
+ Page* _tmp33_ = NULL;
+ Page* _tmp34_ = NULL;
+#line 1459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (SIDEBAR_IS_SELECTABLE_ENTRY (selectable));
+#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->library_branch;
+#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = library_branch_get_last_imported_entry (_tmp0_);
+#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ last_import_entry = _tmp3_;
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = selectable;
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) {
+#line 9625 "LibraryWindow.c"
+ LibraryLastImportSidebarEntry* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ gboolean _tmp8_ = FALSE;
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = last_import_entry;
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = library_hideable_page_entry_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry));
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _tmp7_;
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp8_;
+#line 9637 "LibraryWindow.c"
+ } else {
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = FALSE;
+#line 9641 "LibraryWindow.c"
+ }
+#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_) {
+#line 9645 "LibraryWindow.c"
+ LibraryLastImportSidebarEntry* _tmp9_ = NULL;
+ Page* _tmp10_ = NULL;
+ Page* _tmp11_ = NULL;
+#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = last_import_entry;
+#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _tmp10_;
+#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp11_);
+#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp11_);
+#line 1469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (last_import_entry);
+#line 1469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 9663 "LibraryWindow.c"
+ }
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = selectable;
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, EVENTS_TYPE_EVENT_ENTRY)) {
+#line 9669 "LibraryWindow.c"
+ EventsBranch* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = self->priv->events_branch;
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = sidebar_branch_get_show_branch (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = _tmp15_;
+#line 9678 "LibraryWindow.c"
+ } else {
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = FALSE;
+#line 9682 "LibraryWindow.c"
+ }
+#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp12_) {
+#line 9686 "LibraryWindow.c"
+ EventsBranch* _tmp16_ = NULL;
+ EventsMasterDirectoryEntry* _tmp17_ = NULL;
+ EventsMasterDirectoryEntry* _tmp18_ = NULL;
+ Page* _tmp19_ = NULL;
+ Page* _tmp20_ = NULL;
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = self->priv->events_branch;
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = events_branch_get_master_entry (_tmp16_);
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = _tmp17_;
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = _tmp19_;
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp20_);
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp20_);
+#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp18_);
+#line 1476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (last_import_entry);
+#line 1476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 9712 "LibraryWindow.c"
+ }
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = selectable;
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, EVENTS_TYPE_DIRECTORY_ENTRY)) {
+#line 9718 "LibraryWindow.c"
+ EventsBranch* _tmp23_ = NULL;
+ gboolean _tmp24_ = FALSE;
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = self->priv->events_branch;
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = sidebar_branch_get_show_branch (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = _tmp24_;
+#line 9727 "LibraryWindow.c"
+ } else {
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = FALSE;
+#line 9731 "LibraryWindow.c"
+ }
+#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp21_) {
+#line 9735 "LibraryWindow.c"
+ EventsBranch* _tmp25_ = NULL;
+ EventsMasterDirectoryEntry* _tmp26_ = NULL;
+ EventsMasterDirectoryEntry* _tmp27_ = NULL;
+ Page* _tmp28_ = NULL;
+ Page* _tmp29_ = NULL;
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = self->priv->events_branch;
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = events_branch_get_master_entry (_tmp25_);
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp27_ = _tmp26_;
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = _tmp28_;
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp29_);
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp29_);
+#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp27_);
+#line 1483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (last_import_entry);
+#line 1483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 9761 "LibraryWindow.c"
+ }
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp30_ = self->priv->library_branch;
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = library_branch_get_photos_entry (_tmp30_);
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = _tmp31_;
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = _tmp33_;
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_switch_to_page (self, _tmp34_);
+#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp34_);
+#line 1459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (last_import_entry);
+#line 9779 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_update_properties_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) {
+#line 1493 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_update_properties ((LibraryWindow*) self);
+#line 9786 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_update_properties_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
+#line 1494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_update_properties ((LibraryWindow*) self);
+#line 9793 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_update_properties_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) {
+#line 1495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_update_properties ((LibraryWindow*) self);
+#line 9800 "LibraryWindow.c"
+}
+
+
+static void _library_window_on_update_properties_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self) {
+#line 1496 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_update_properties ((LibraryWindow*) self);
+#line 9807 "LibraryWindow.c"
+}
+
+
+static void library_window_subscribe_for_basic_information (LibraryWindow* self, Page* page) {
+ ViewCollection* view = NULL;
+ Page* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+#line 1490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1491 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 1491 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page_get_view (_tmp0_);
+#line 1491 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp1_;
+#line 1493 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (view, "items-state-changed", (GCallback) _library_window_on_update_properties_view_collection_items_state_changed, self, 0);
+#line 1494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_window_on_update_properties_data_collection_items_altered, self, 0);
+#line 1495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _library_window_on_update_properties_data_collection_contents_altered, self, 0);
+#line 1496 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_connect_object (view, "items-visibility-changed", (GCallback) _library_window_on_update_properties_view_collection_items_visibility_changed, self, 0);
+#line 1490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 9835 "LibraryWindow.c"
+}
+
+
+static void library_window_unsubscribe_from_basic_information (LibraryWindow* self, Page* page) {
+ ViewCollection* view = NULL;
+ Page* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ guint _tmp2_ = 0U;
+ guint _tmp3_ = 0U;
+ guint _tmp4_ = 0U;
+ guint _tmp5_ = 0U;
+#line 1499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_PAGE (page));
+#line 1500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = page;
+#line 1500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = page_get_view (_tmp0_);
+#line 1500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ view = _tmp1_;
+#line 1502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("items-state-changed", TYPE_VIEW_COLLECTION, &_tmp2_, NULL, FALSE);
+#line 1502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_window_on_update_properties_view_collection_items_state_changed, self);
+#line 1503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE);
+#line 1503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_window_on_update_properties_data_collection_items_altered, self);
+#line 1504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE);
+#line 1504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _library_window_on_update_properties_data_collection_contents_altered, self);
+#line 1505 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("items-visibility-changed", TYPE_VIEW_COLLECTION, &_tmp5_, NULL, FALSE);
+#line 1505 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_update_properties_view_collection_items_visibility_changed, self);
+#line 1499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (view);
+#line 9875 "LibraryWindow.c"
+}
+
+
+static void library_window_on_update_properties (LibraryWindow* self) {
+ OneShotScheduler* _tmp0_ = NULL;
+#line 1508 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->properties_scheduler;
+#line 1509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ one_shot_scheduler_at_idle (_tmp0_);
+#line 9887 "LibraryWindow.c"
+}
+
+
+static void library_window_on_update_properties_now (LibraryWindow* self) {
+ GtkFrame* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ ExtendedPropertiesWindow* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ gboolean _tmp8_ = FALSE;
+#line 1512 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->bottom_frame;
+#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = _tmp1_;
+#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp2_) {
+#line 9908 "LibraryWindow.c"
+ BasicProperties* _tmp3_ = NULL;
+ Page* _tmp4_ = NULL;
+ Page* _tmp5_ = NULL;
+#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = self->priv->basic_properties;
+#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _tmp4_;
+#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PROPERTIES, Properties), _tmp5_);
+#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp5_);
+#line 9922 "LibraryWindow.c"
+ }
+#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->extended_properties;
+#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
+#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = _tmp7_;
+#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp8_) {
+#line 9932 "LibraryWindow.c"
+ ExtendedPropertiesWindow* _tmp9_ = NULL;
+ Page* _tmp10_ = NULL;
+ Page* _tmp11_ = NULL;
+#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = self->priv->extended_properties;
+#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _tmp10_;
+#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ extended_properties_window_update_properties (_tmp9_, _tmp11_);
+#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp11_);
+#line 9946 "LibraryWindow.c"
+ }
+}
+
+
+static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
+ gchar* result = NULL;
+ GError * _inner_error_ = NULL;
+#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (old != NULL, NULL);
+#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (replacement != NULL, NULL);
+#line 9960 "LibraryWindow.c"
+ {
+ GRegex* regex = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ GRegex* _tmp3_ = NULL;
+ GRegex* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ GRegex* _tmp6_ = NULL;
+ const gchar* _tmp7_ = NULL;
+ gchar* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp0_ = old;
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp1_ = g_regex_escape_string (_tmp0_, -1);
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp2_ = _tmp1_;
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_);
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp4_ = _tmp3_;
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp2_);
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ regex = _tmp4_;
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 9991 "LibraryWindow.c"
+ goto __catch41_g_regex_error;
+ }
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return NULL;
+#line 10000 "LibraryWindow.c"
+ }
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp6_ = regex;
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp7_ = replacement;
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp5_ = _tmp8_;
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 10016 "LibraryWindow.c"
+ goto __catch41_g_regex_error;
+ }
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return NULL;
+#line 10027 "LibraryWindow.c"
+ }
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp9_ = _tmp5_;
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp5_ = NULL;
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ result = _tmp9_;
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp5_);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return result;
+#line 10041 "LibraryWindow.c"
+ }
+ goto __finally41;
+ __catch41_g_regex_error:
+ {
+ GError* e = NULL;
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ e = _inner_error_;
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _inner_error_ = NULL;
+#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_assert_not_reached ();
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _g_error_free0 (e);
+#line 10055 "LibraryWindow.c"
+ }
+ __finally41:
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return NULL;
+#line 10066 "LibraryWindow.c"
+ }
+}
+
+
+void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup) {
+ const gchar* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ GFile* uri_file = NULL;
+ const gchar* _tmp4_ = NULL;
+ GFile* _tmp5_ = NULL;
+ GMount* mount = NULL;
+ gchar* alt_uri = NULL;
+ const gchar* _tmp12_ = NULL;
+ gboolean _tmp13_ = FALSE;
+ gboolean _tmp18_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (IS_LIBRARY_WINDOW (self));
+#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (uri != NULL);
+#line 1521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = uri;
+#line 1521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:1521: mount point reported: %s", _tmp0_);
+#line 1524 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = uri;
+#line 1524 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = library_window_is_mount_uri_supported (_tmp1_);
+#line 1524 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp2_) {
+#line 10098 "LibraryWindow.c"
+ const gchar* _tmp3_ = NULL;
+#line 1525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = uri;
+#line 1525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:1525: Unsupported mount scheme: %s", _tmp3_);
+#line 1527 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 10106 "LibraryWindow.c"
+ }
+#line 1530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = uri;
+#line 1530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = g_file_new_for_uri (_tmp4_);
+#line 1530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ uri_file = _tmp5_;
+#line 1533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ mount = NULL;
+#line 10116 "LibraryWindow.c"
+ {
+ GMount* _tmp6_ = NULL;
+ GFile* _tmp7_ = NULL;
+ GMount* _tmp8_ = NULL;
+ GMount* _tmp9_ = NULL;
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = uri_file;
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = g_file_find_enclosing_mount (_tmp7_, NULL, &_inner_error_);
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = _tmp8_;
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 10130 "LibraryWindow.c"
+ goto __catch40_g_error;
+ }
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp6_;
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = NULL;
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ mount = _tmp9_;
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp6_);
+#line 10143 "LibraryWindow.c"
+ }
+ goto __finally40;
+ __catch40_g_error:
+ {
+ GError* err = NULL;
+ GError* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ err = _inner_error_;
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _inner_error_ = NULL;
+#line 1537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = err;
+#line 1537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = _tmp10_->message;
+#line 1537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_debug ("LibraryWindow.vala:1537: %s", _tmp11_);
+#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_error_free0 (err);
+#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (uri_file);
+#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 10169 "LibraryWindow.c"
+ }
+ __finally40:
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (uri_file);
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_clear_error (&_inner_error_);
+#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return;
+#line 10184 "LibraryWindow.c"
+ }
+#line 1543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ alt_uri = NULL;
+#line 1544 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = uri;
+#line 1544 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = g_str_has_prefix (_tmp12_, "file://");
+#line 1544 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp13_) {
+#line 10194 "LibraryWindow.c"
+ const gchar* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = uri;
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = string_replace (_tmp14_, "file://", "disk:");
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = _tmp15_;
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = camera_table_get_port_uri (_tmp16_);
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (alt_uri);
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ alt_uri = _tmp17_;
+#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (_tmp16_);
+#line 10213 "LibraryWindow.c"
+ }
+#line 1548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = at_startup;
+#line 1548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp18_) {
+#line 10219 "LibraryWindow.c"
+ const gchar* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+ const gchar* _tmp23_ = NULL;
+ gboolean _tmp24_ = FALSE;
+#line 1549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = uri;
+#line 1549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = is_string_empty (_tmp19_);
+#line 1549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp20_) {
+#line 10230 "LibraryWindow.c"
+ GeeHashSet* _tmp21_ = NULL;
+ const gchar* _tmp22_ = NULL;
+#line 1550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = library_window_initial_camera_uris;
+#line 1550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = uri;
+#line 1550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp22_);
+#line 10239 "LibraryWindow.c"
+ }
+#line 1552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = alt_uri;
+#line 1552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = is_string_empty (_tmp23_);
+#line 1552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp24_) {
+#line 10247 "LibraryWindow.c"
+ GeeHashSet* _tmp25_ = NULL;
+ const gchar* _tmp26_ = NULL;
+#line 1553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp25_ = library_window_initial_camera_uris;
+#line 1553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = alt_uri;
+#line 1553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp26_);
+#line 10256 "LibraryWindow.c"
+ }
+ }
+#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (alt_uri);
+#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (mount);
+#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (uri_file);
+#line 10265 "LibraryWindow.c"
+}
+
+
+static gboolean library_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) {
+ LibraryWindow * self;
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ SidebarTree* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ GdkEventKey* _tmp11_ = NULL;
+ gboolean _tmp12_ = FALSE;
+ GdkEventKey* _tmp13_ = NULL;
+ guint _tmp14_ = 0U;
+ const gchar* _tmp15_ = NULL;
+#line 1557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 1557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (event != NULL, FALSE);
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->sidebar_tree;
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), "has-focus", &_tmp3_, NULL);
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = _tmp3_;
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp4_) {
+#line 10294 "LibraryWindow.c"
+ SidebarTree* _tmp5_ = NULL;
+ GdkEventKey* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = self->priv->sidebar_tree;
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = event;
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = sidebar_tree_is_keypress_interpreted (_tmp5_, _tmp6_);
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp7_;
+#line 10306 "LibraryWindow.c"
+ } else {
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = FALSE;
+#line 10310 "LibraryWindow.c"
+ }
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp1_) {
+#line 10314 "LibraryWindow.c"
+ SidebarTree* _tmp8_ = NULL;
+ GdkEventKey* _tmp9_ = NULL;
+ gboolean _tmp10_ = FALSE;
+#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = self->priv->sidebar_tree;
+#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = event;
+#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp9_, &_tmp10_);
+#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = _tmp10_;
+#line 10326 "LibraryWindow.c"
+ } else {
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = FALSE;
+#line 10330 "LibraryWindow.c"
+ }
+#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp0_) {
+#line 1560 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 1560 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 10338 "LibraryWindow.c"
+ }
+#line 1563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = event;
+#line 1563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = GTK_WIDGET_CLASS (library_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget), _tmp11_);
+#line 1563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp12_) {
+#line 1564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 1564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 10350 "LibraryWindow.c"
+ }
+#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = event;
+#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = _tmp13_->keyval;
+#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = gdk_keyval_name (_tmp14_);
+#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (g_strcmp0 (_tmp15_, "Escape") == 0) {
+#line 1567 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_clear_search (self);
+#line 1568 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = TRUE;
+#line 1568 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 10366 "LibraryWindow.c"
+ }
+#line 1571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = FALSE;
+#line 1571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 10372 "LibraryWindow.c"
+}
+
+
+gint library_window_get_PAGE_MIN_WIDTH (void) {
+ gint result;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = thumbnail_get_MAX_SCALE ();
+#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _tmp0_;
+#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ result = _tmp1_ + (CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING * 2);
+#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return result;
+#line 10388 "LibraryWindow.c"
+}
+
+
+static gpointer _data_collection_ref0 (gpointer self) {
+#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return self ? data_collection_ref (self) : NULL;
+#line 10395 "LibraryWindow.c"
+}
+
+
+static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_construct (GType object_type, CollectionPage* collection, Photo* start, ViewCollection* view) {
+ LibraryWindowFullscreenPhotoPage * self = NULL;
+ CollectionPage* _tmp0_ = NULL;
+ CollectionPage* _tmp1_ = NULL;
+ Photo* _tmp2_ = NULL;
+ Photo* _tmp3_ = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_COLLECTION_PAGE (collection), NULL);
+#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail (IS_PHOTO (start), NULL);
+#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_val_if_fail ((view == NULL) || IS_VIEW_COLLECTION (view), NULL);
+#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = (LibraryWindowFullscreenPhotoPage*) library_photo_page_construct (object_type);
+#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = collection;
+#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->collection);
+#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->collection = _tmp1_;
+#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = start;
+#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->start);
+#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->start = _tmp3_;
+#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = view;
+#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = _data_collection_ref0 (_tmp4_);
+#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (self->priv->view);
+#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->view = _tmp5_;
+#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return self;
+#line 10441 "LibraryWindow.c"
+}
+
+
+static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_new (CollectionPage* collection, Photo* start, ViewCollection* view) {
+#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ return library_window_fullscreen_photo_page_construct (LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, collection, start, view);
+#line 10448 "LibraryWindow.c"
+}
+
+
+static void library_window_fullscreen_photo_page_real_switched_to (Page* base) {
+ LibraryWindowFullscreenPhotoPage * self;
+ CollectionPage* _tmp0_ = NULL;
+ Photo* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+#line 81 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
+#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->collection;
+#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = self->priv->start;
+#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->view;
+#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_photo_page_display_for_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage), _tmp0_, _tmp1_, _tmp2_);
+#line 84 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ PAGE_CLASS (library_window_fullscreen_photo_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage), TYPE_PAGE, Page));
+#line 10469 "LibraryWindow.c"
+}
+
+
+static void library_window_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ LibraryWindowFullscreenPhotoPage * self;
+ GeeList* _tmp0_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
+#line 87 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 90 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = ui_filenames;
+#line 90 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "photo_context.ui");
+#line 10484 "LibraryWindow.c"
+}
+
+
+static void library_window_fullscreen_photo_page_class_init (LibraryWindowFullscreenPhotoPageClass * klass) {
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_fullscreen_photo_page_parent_class = g_type_class_peek_parent (klass);
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_type_class_add_private (klass, sizeof (LibraryWindowFullscreenPhotoPagePrivate));
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((PageClass *) klass)->switched_to = library_window_fullscreen_photo_page_real_switched_to;
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = library_window_fullscreen_photo_page_real_init_collect_ui_filenames;
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_window_fullscreen_photo_page_finalize;
+#line 10499 "LibraryWindow.c"
+}
+
+
+static void library_window_fullscreen_photo_page_instance_init (LibraryWindowFullscreenPhotoPage * self) {
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv = LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_PRIVATE (self);
+#line 10506 "LibraryWindow.c"
+}
+
+
+static void library_window_fullscreen_photo_page_finalize (GObject* obj) {
+ LibraryWindowFullscreenPhotoPage * self;
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
+#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->collection);
+#line 72 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->start);
+#line 73 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (self->priv->view);
+#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ G_OBJECT_CLASS (library_window_fullscreen_photo_page_parent_class)->finalize (obj);
+#line 10522 "LibraryWindow.c"
+}
+
+
+static GType library_window_fullscreen_photo_page_get_type (void) {
+ static volatile gsize library_window_fullscreen_photo_page_type_id__volatile = 0;
+ if (g_once_init_enter (&library_window_fullscreen_photo_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryWindowFullscreenPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_window_fullscreen_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryWindowFullscreenPhotoPage), 0, (GInstanceInitFunc) library_window_fullscreen_photo_page_instance_init, NULL };
+ GType library_window_fullscreen_photo_page_type_id;
+ library_window_fullscreen_photo_page_type_id = g_type_register_static (TYPE_LIBRARY_PHOTO_PAGE, "LibraryWindowFullscreenPhotoPage", &g_define_type_info, 0);
+ g_once_init_leave (&library_window_fullscreen_photo_page_type_id__volatile, library_window_fullscreen_photo_page_type_id);
+ }
+ return library_window_fullscreen_photo_page_type_id__volatile;
+}
+
+
+static void library_window_class_init (LibraryWindowClass * klass) {
+ GeeHashSet* _tmp0_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_type_class_add_private (klass, sizeof (LibraryWindowPrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->create_common_action_groups = library_window_real_create_common_action_groups;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->replace_common_placeholders = library_window_real_replace_common_placeholders;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((PageWindowClass *) klass)->switched_pages = library_window_real_switched_pages;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((GtkWidgetClass *) klass)->show_all = library_window_real_show_all;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->get_app_role = library_window_real_get_app_role;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->on_quit = library_window_real_on_quit;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->on_fullscreen = library_window_real_on_fullscreen;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->update_common_action_availability = library_window_real_update_common_action_availability;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((AppWindowClass *) klass)->update_common_actions = library_window_real_update_common_actions;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((GtkWidgetClass *) klass)->drag_motion = library_window_real_drag_motion;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((GtkWidgetClass *) klass)->drag_data_received = library_window_real_drag_data_received;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((PageWindowClass *) klass)->set_current_page = library_window_real_set_current_page;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ ((GtkWidgetClass *) klass)->key_press_event = library_window_real_key_press_event;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_library_window_get_property;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_window_finalize;
+#line 121 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 121 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_initial_camera_uris = _tmp0_;
+#line 10578 "LibraryWindow.c"
+}
+
+
+static void library_window_instance_init (LibraryWindow * self) {
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ GtkPaned* _tmp2_ = NULL;
+ GtkPaned* _tmp3_ = NULL;
+ GtkFrame* _tmp4_ = NULL;
+ GtkActionGroup* _tmp5_ = NULL;
+ LibraryBranch* _tmp6_ = NULL;
+ TagsBranch* _tmp7_ = NULL;
+ FoldersBranch* _tmp8_ = NULL;
+ EventsBranch* _tmp9_ = NULL;
+ CameraBranch* _tmp10_ = NULL;
+ SearchesBranch* _tmp11_ = NULL;
+ GeeHashMap* _tmp12_ = NULL;
+ SearchFilterActions* _tmp13_ = NULL;
+ GtkBox* _tmp14_ = NULL;
+ GtkFrame* _tmp15_ = NULL;
+ GtkProgressBar* _tmp16_ = NULL;
+ BasicProperties* _tmp17_ = NULL;
+ GtkStack* _tmp18_ = NULL;
+ GtkBox* _tmp19_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv = LIBRARY_WINDOW_GET_PRIVATE (self);
+#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = g_get_home_dir ();
+#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->import_dir = _tmp1_;
+#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_VERTICAL);
+#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp2_);
+#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->sidebar_paned = _tmp2_;
+#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp3_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
+#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp3_);
+#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->client_paned = _tmp3_;
+#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = (GtkFrame*) gtk_frame_new (NULL);
+#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp4_);
+#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->bottom_frame = _tmp4_;
+#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp5_ = gtk_action_group_new ("LibraryWindowGlobalActionGroup");
+#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->common_action_group = _tmp5_;
+#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->properties_scheduler = NULL;
+#line 104 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->notify_library_is_home_dir = TRUE;
+#line 108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = library_branch_new ();
+#line 108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->library_branch = _tmp6_;
+#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp7_ = tags_branch_new ();
+#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->tags_branch = _tmp7_;
+#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = folders_branch_new ();
+#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->folders_branch = _tmp8_;
+#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = events_branch_new ();
+#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->events_branch = _tmp9_;
+#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = camera_branch_new ();
+#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->camera_branch = _tmp10_;
+#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp11_ = searches_branch_new ();
+#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->saved_search_branch = _tmp11_;
+#line 114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->page_switching_enabled = TRUE;
+#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = gee_hash_map_new (TYPE_PAGE, (GBoxedCopyFunc) g_object_ref, g_object_unref, SIDEBAR_TYPE_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->page_map = _tmp12_;
+#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->photo_page = NULL;
+#line 123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->is_search_toolbar_visible = FALSE;
+#line 128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp13_ = search_filter_actions_new ();
+#line 128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->search_actions = _tmp13_;
+#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp14_);
+#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->top_section = _tmp14_;
+#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = (GtkFrame*) gtk_frame_new (NULL);
+#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp15_);
+#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_frame = _tmp15_;
+#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = (GtkProgressBar*) gtk_progress_bar_new ();
+#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp16_);
+#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_bar = _tmp16_;
+#line 134 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_displayed = FALSE;
+#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = basic_properties_new ();
+#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp17_);
+#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->basic_properties = _tmp17_;
+#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = (GtkStack*) gtk_stack_new ();
+#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp18_);
+#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->stack = _tmp18_;
+#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_object_ref_sink (_tmp19_);
+#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->layout = _tmp19_;
+#line 143 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->current_progress_priority = 0;
+#line 144 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self->priv->background_progress_pulse_id = (guint) 0;
+#line 10717 "LibraryWindow.c"
+}
+
+
+static void library_window_finalize (GObject* obj) {
+ LibraryWindow * self;
+ SidebarTree* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ SidebarTree* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+ SidebarTree* _tmp4_ = NULL;
+ guint _tmp5_ = 0U;
+ SidebarTree* _tmp6_ = NULL;
+ guint _tmp7_ = 0U;
+ Page* _tmp8_ = NULL;
+ Page* _tmp9_ = NULL;
+ ExtendedPropertiesWindow* _tmp10_ = NULL;
+ guint _tmp11_ = 0U;
+ ExtendedPropertiesWindow* _tmp12_ = NULL;
+ guint _tmp13_ = 0U;
+ MetadataWriter* _tmp28_ = NULL;
+ MetadataWriter* _tmp29_ = NULL;
+ guint _tmp30_ = 0U;
+ LibraryMonitor* monitor = NULL;
+ LibraryMonitorPool* _tmp31_ = NULL;
+ LibraryMonitorPool* _tmp32_ = NULL;
+ LibraryMonitor* _tmp33_ = NULL;
+ LibraryMonitor* _tmp34_ = NULL;
+ LibraryMonitor* _tmp35_ = NULL;
+ LibraryMonitorPool* _tmp37_ = NULL;
+ LibraryMonitorPool* _tmp38_ = NULL;
+ guint _tmp39_ = 0U;
+ LibraryMonitorPool* _tmp40_ = NULL;
+ LibraryMonitorPool* _tmp41_ = NULL;
+ guint _tmp42_ = 0U;
+ CameraTable* _tmp43_ = NULL;
+ CameraTable* _tmp44_ = NULL;
+ guint _tmp45_ = 0U;
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp0_ = self->priv->sidebar_tree;
+#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("page-created", SIDEBAR_TYPE_TREE, &_tmp1_, NULL, FALSE);
+#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_window_on_page_created_sidebar_tree_page_created, self);
+#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp2_ = self->priv->sidebar_tree;
+#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("destroying-page", SIDEBAR_TYPE_TREE, &_tmp3_, NULL, FALSE);
+#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_window_on_destroying_page_sidebar_tree_destroying_page, self);
+#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp4_ = self->priv->sidebar_tree;
+#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("entry-selected", SIDEBAR_TYPE_TREE, &_tmp5_, NULL, FALSE);
+#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected, self);
+#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp6_ = self->priv->sidebar_tree;
+#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("selected-entry-removed", SIDEBAR_TYPE_TREE, &_tmp7_, NULL, FALSE);
+#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed, self);
+#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp8_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
+#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp9_ = _tmp8_;
+#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_unsubscribe_from_basic_information (self, _tmp9_);
+#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp9_);
+#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp10_ = self->priv->extended_properties;
+#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("hide", gtk_widget_get_type (), &_tmp11_, NULL, FALSE);
+#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_window_hide_extended_properties_gtk_widget_hide, self);
+#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp12_ = self->priv->extended_properties;
+#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("show", gtk_widget_get_type (), &_tmp13_, NULL, FALSE);
+#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _library_window_show_extended_properties_gtk_widget_show, self);
+#line 10801 "LibraryWindow.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp14_ = NULL;
+ MediaCollectionRegistry* _tmp15_ = NULL;
+ GeeCollection* _tmp16_ = NULL;
+ GeeCollection* _tmp17_ = NULL;
+ GeeIterator* _tmp18_ = NULL;
+ GeeIterator* _tmp19_ = NULL;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp14_ = media_collection_registry_get_instance ();
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp15_ = _tmp14_;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp16_ = media_collection_registry_get_all (_tmp15_);
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp17_ = _tmp16_;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp19_ = _tmp18_;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp17_);
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _media_collection_registry_unref0 (_tmp15_);
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _media_sources_it = _tmp19_;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ while (TRUE) {
+#line 10830 "LibraryWindow.c"
+ GeeIterator* _tmp20_ = NULL;
+ gboolean _tmp21_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp22_ = NULL;
+ gpointer _tmp23_ = NULL;
+ MediaSourceCollection* _tmp24_ = NULL;
+ guint _tmp25_ = 0U;
+ MediaSourceCollection* _tmp26_ = NULL;
+ guint _tmp27_ = 0U;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp20_ = _media_sources_it;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp21_ = gee_iterator_next (_tmp20_);
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (!_tmp21_) {
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ break;
+#line 10848 "LibraryWindow.c"
+ }
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp22_ = _media_sources_it;
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp23_ = gee_iterator_get (_tmp22_);
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ media_sources = (MediaSourceCollection*) _tmp23_;
+#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp24_ = media_sources;
+#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp25_, NULL, FALSE);
+#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp24_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp25_, 0, NULL, (GCallback) _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self);
+#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp26_ = media_sources;
+#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp27_, NULL, FALSE);
+#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp27_, 0, NULL, (GCallback) _library_window_on_media_altered_data_collection_items_altered, self);
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _data_collection_unref0 (media_sources);
+#line 10870 "LibraryWindow.c"
+ }
+#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 10874 "LibraryWindow.c"
+ }
+#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp28_ = metadata_writer_get_instance ();
+#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp29_ = _tmp28_;
+#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("progress", TYPE_METADATA_WRITER, &_tmp30_, NULL, FALSE);
+#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp29_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp30_, 0, NULL, (GCallback) _library_window_on_metadata_writer_progress_metadata_writer_progress, self);
+#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (_tmp29_);
+#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp31_ = library_monitor_pool_get_instance ();
+#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp32_ = _tmp31_;
+#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp33_ = library_monitor_pool_get_monitor (_tmp32_);
+#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp34_ = _tmp33_;
+#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _library_monitor_pool_unref0 (_tmp32_);
+#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ monitor = _tmp34_;
+#line 249 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp35_ = monitor;
+#line 249 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ if (_tmp35_ != NULL) {
+#line 10902 "LibraryWindow.c"
+ LibraryMonitor* _tmp36_ = NULL;
+#line 250 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp36_ = monitor;
+#line 250 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ library_window_on_library_monitor_destroyed (self, _tmp36_);
+#line 10908 "LibraryWindow.c"
+ }
+#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp37_ = library_monitor_pool_get_instance ();
+#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp38_ = _tmp37_;
+#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("monitor-installed", TYPE_LIBRARY_MONITOR_POOL, &_tmp39_, NULL, FALSE);
+#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp38_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp39_, 0, NULL, (GCallback) _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed, self);
+#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _library_monitor_pool_unref0 (_tmp38_);
+#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp40_ = library_monitor_pool_get_instance ();
+#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp41_ = _tmp40_;
+#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("monitor-destroyed", TYPE_LIBRARY_MONITOR_POOL, &_tmp42_, NULL, FALSE);
+#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp41_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp42_, 0, NULL, (GCallback) _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed, self);
+#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _library_monitor_pool_unref0 (_tmp41_);
+#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp43_ = camera_table_get_instance ();
+#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _tmp44_ = _tmp43_;
+#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_parse_name ("camera-added", TYPE_CAMERA_TABLE, &_tmp45_, NULL, FALSE);
+#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ g_signal_handlers_disconnect_matched (_tmp44_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp45_, 0, NULL, (GCallback) _library_window_on_camera_added_camera_table_camera_added, self);
+#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _camera_table_unref0 (_tmp44_);
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (monitor);
+#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_free0 (self->priv->import_dir);
+#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->sidebar_paned);
+#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->client_paned);
+#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->bottom_frame);
+#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->common_action_group);
+#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _one_shot_scheduler_unref0 (self->priv->properties_scheduler);
+#line 107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->sidebar_tree);
+#line 108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->library_branch);
+#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->tags_branch);
+#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->folders_branch);
+#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->events_branch);
+#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->camera_branch);
+#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->saved_search_branch);
+#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->page_map);
+#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->photo_page);
+#line 128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _search_filter_actions_unref0 (self->priv->search_actions);
+#line 129 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->search_toolbar);
+#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->top_section);
+#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->background_progress_frame);
+#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->background_progress_bar);
+#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->basic_properties);
+#line 137 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->extended_properties);
+#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->stack);
+#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->layout);
+#line 141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ _g_object_unref0 (self->priv->right_vbox);
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ G_OBJECT_CLASS (library_window_parent_class)->finalize (obj);
+#line 10994 "LibraryWindow.c"
+}
+
+
+GType library_window_get_type (void) {
+ static volatile gsize library_window_type_id__volatile = 0;
+ if (g_once_init_enter (&library_window_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryWindow), 0, (GInstanceInitFunc) library_window_instance_init, NULL };
+ GType library_window_type_id;
+ library_window_type_id = g_type_register_static (TYPE_APP_WINDOW, "LibraryWindow", &g_define_type_info, 0);
+ g_once_init_leave (&library_window_type_id__volatile, library_window_type_id);
+ }
+ return library_window_type_id__volatile;
+}
+
+
+static void _vala_library_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ LibraryWindow * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_LIBRARY_WINDOW, LibraryWindow);
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ switch (property_id) {
+#line 11015 "LibraryWindow.c"
+ default:
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
+ break;
+#line 11021 "LibraryWindow.c"
+ }
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
diff --git a/src/library/LibraryWindow.vala b/src/library/LibraryWindow.vala
index 21fc85e..19f819b 100644
--- a/src/library/LibraryWindow.vala
+++ b/src/library/LibraryWindow.vala
@@ -392,7 +392,13 @@ public class LibraryWindow : AppWindow {
sidebar.label = _("S_idebar");
sidebar.tooltip = _("Display the sidebar");
actions += sidebar;
-
+
+ Gtk.ToggleActionEntry toolbar = { "CommonDisplayToolbar", null, TRANSLATABLE,
+ "<Ctrl>F9", TRANSLATABLE, on_display_toolbar, is_toolbar_visible() };
+ toolbar.label = _("T_oolbar");
+ toolbar.tooltip = _("Display the tool bar");
+ actions += toolbar;
+
return actions;
}
@@ -837,7 +843,7 @@ public class LibraryWindow : AppWindow {
set_sidebar_visible(((Gtk.ToggleAction) action).get_active());
}
-
+
private void set_sidebar_visible(bool visible) {
sidebar_paned.set_visible(visible);
Config.Facade.get_instance().set_display_sidebar(visible);
@@ -847,6 +853,22 @@ public class LibraryWindow : AppWindow {
return Config.Facade.get_instance().get_display_sidebar();
}
+ private void on_display_toolbar (Gtk.Action action) {
+ set_toolbar_visible ((action as Gtk.ToggleAction).get_active ());
+ }
+
+ private void set_toolbar_visible (bool visible) {
+ var toolbar = get_current_page ().get_toolbar ();
+ if (toolbar != null) {
+ toolbar.set_visible (visible);
+ }
+ Config.Facade.get_instance().set_display_toolbar (visible);
+ }
+
+ private bool is_toolbar_visible () {
+ return Config.Facade.get_instance ().get_display_toolbar ();
+ }
+
private void show_extended_properties() {
sync_extended_properties(true);
}
@@ -1382,6 +1404,7 @@ public class LibraryWindow : AppWindow {
if (toolbar != null) {
right_vbox.add(toolbar);
toolbar.show_all();
+ toolbar.set_visible (this.is_toolbar_visible ());
}
page.ready();
diff --git a/src/library/OfflinePage.c b/src/library/OfflinePage.c
new file mode 100644
index 0000000..df2b7c6
--- /dev/null
+++ b/src/library/OfflinePage.c
@@ -0,0 +1,1741 @@
+/* OfflinePage.c generated by valac 0.32.1, the Vala compiler
+ * generated from OfflinePage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+#include <gio/gio.h>
+#include <cairo.h>
+#include <float.h>
+#include <math.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+
+#define TYPE_OFFLINE_PAGE (offline_page_get_type ())
+#define OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OFFLINE_PAGE, OfflinePage))
+#define OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OFFLINE_PAGE, OfflinePageClass))
+#define IS_OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OFFLINE_PAGE))
+#define IS_OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OFFLINE_PAGE))
+#define OFFLINE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OFFLINE_PAGE, OfflinePageClass))
+
+typedef struct _OfflinePage OfflinePage;
+typedef struct _OfflinePageClass OfflinePageClass;
+typedef struct _OfflinePagePrivate OfflinePagePrivate;
+
+#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ())
+#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter))
+#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
+#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
+#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
+#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
+
+typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter;
+typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass;
+
+#define OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER (offline_page_offline_search_view_filter_get_type ())
+#define OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilter))
+#define OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilterClass))
+#define OFFLINE_PAGE_IS_OFFLINE_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER))
+#define OFFLINE_PAGE_IS_OFFLINE_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER))
+#define OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilterClass))
+
+typedef struct _OfflinePageOfflineSearchViewFilter OfflinePageOfflineSearchViewFilter;
+typedef struct _OfflinePageOfflineSearchViewFilterClass OfflinePageOfflineSearchViewFilterClass;
+
+#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ())
+#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker))
+#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass))
+#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER))
+#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER))
+#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass))
+
+typedef struct _MediaViewTracker MediaViewTracker;
+typedef struct _MediaViewTrackerClass MediaViewTrackerClass;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
+#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+
+typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
+typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
+#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
+#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
+#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
+#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+
+typedef struct _VideoSourceCollection VideoSourceCollection;
+typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;
+#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))
+#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL)))
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ())
+#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem))
+#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))
+#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM))
+#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM))
+#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))
+
+typedef struct _MediaSourceItem MediaSourceItem;
+typedef struct _MediaSourceItemClass MediaSourceItemClass;
+
+#define TYPE_THUMBNAIL (thumbnail_get_type ())
+#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail))
+#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass))
+#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL))
+#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL))
+#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass))
+
+typedef struct _Thumbnail Thumbnail;
+typedef struct _ThumbnailClass ThumbnailClass;
+
+#define OFFLINE_PAGE_TYPE_OFFLINE_VIEW (offline_page_offline_view_get_type ())
+#define OFFLINE_PAGE_OFFLINE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), OFFLINE_PAGE_TYPE_OFFLINE_VIEW, OfflinePageOfflineView))
+#define OFFLINE_PAGE_OFFLINE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), OFFLINE_PAGE_TYPE_OFFLINE_VIEW, OfflinePageOfflineViewClass))
+#define OFFLINE_PAGE_IS_OFFLINE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), OFFLINE_PAGE_TYPE_OFFLINE_VIEW))
+#define OFFLINE_PAGE_IS_OFFLINE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), OFFLINE_PAGE_TYPE_OFFLINE_VIEW))
+#define OFFLINE_PAGE_OFFLINE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), OFFLINE_PAGE_TYPE_OFFLINE_VIEW, OfflinePageOfflineViewClass))
+
+typedef struct _OfflinePageOfflineView OfflinePageOfflineView;
+typedef struct _OfflinePageOfflineViewClass OfflinePageOfflineViewClass;
+
+#define TYPE_MARKER (marker_get_type ())
+#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker))
+#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER))
+#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface))
+
+typedef struct _Marker Marker;
+typedef struct _MarkerIface MarkerIface;
+
+#define TYPE_APP_WINDOW (app_window_get_type ())
+#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
+#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
+#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
+#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
+#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))
+
+typedef struct _AppWindow AppWindow;
+typedef struct _AppWindowClass AppWindowClass;
+
+#define TYPE_PROGRESS_DIALOG (progress_dialog_get_type ())
+#define PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROGRESS_DIALOG, ProgressDialog))
+#define PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROGRESS_DIALOG, ProgressDialogClass))
+#define IS_PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROGRESS_DIALOG))
+#define IS_PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROGRESS_DIALOG))
+#define PROGRESS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROGRESS_DIALOG, ProgressDialogClass))
+
+typedef struct _ProgressDialog ProgressDialog;
+typedef struct _ProgressDialogClass ProgressDialogClass;
+
+#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
+#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
+#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
+#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
+#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+
+typedef struct _PhotoSource PhotoSource;
+typedef struct _PhotoSourceClass PhotoSourceClass;
+
+#define TYPE_PHOTO (photo_get_type ())
+#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
+#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
+#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
+#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
+#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))
+
+typedef struct _Photo Photo;
+typedef struct _PhotoClass PhotoClass;
+
+#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
+#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
+#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
+#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
+#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+
+typedef struct _LibraryPhoto LibraryPhoto;
+typedef struct _LibraryPhotoClass LibraryPhotoClass;
+
+#define TYPE_VIDEO_SOURCE (video_source_get_type ())
+#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource))
+#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass))
+#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE))
+#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE))
+#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass))
+
+typedef struct _VideoSource VideoSource;
+typedef struct _VideoSourceClass VideoSourceClass;
+
+#define TYPE_VIDEO (video_get_type ())
+#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video))
+#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass))
+#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO))
+#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO))
+#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass))
+
+typedef struct _Video Video;
+typedef struct _VideoClass VideoClass;
+typedef struct _DataObjectPrivate DataObjectPrivate;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+typedef struct _DataViewPrivate DataViewPrivate;
+typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate;
+typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate;
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate;
+typedef struct _ThumbnailPrivate ThumbnailPrivate;
+typedef struct _OfflinePageOfflineViewPrivate OfflinePageOfflineViewPrivate;
+typedef struct _ViewFilterPrivate ViewFilterPrivate;
+typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;
+typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate;
+typedef struct _OfflinePageOfflineSearchViewFilterPrivate OfflinePageOfflineSearchViewFilterPrivate;
+
+#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+struct _OfflinePage {
+ CheckerboardPage parent_instance;
+ OfflinePagePrivate * priv;
+};
+
+struct _OfflinePageClass {
+ CheckerboardPageClass parent_class;
+};
+
+struct _OfflinePagePrivate {
+ OfflinePageOfflineSearchViewFilter* search_filter;
+ MediaViewTracker* tracker;
+};
+
+struct _MarkerIface {
+ GTypeInterface parent_iface;
+ void (*mark) (Marker* self, DataObject* object);
+ void (*unmark) (Marker* self, DataObject* object);
+ gboolean (*toggle) (Marker* self, DataObject* object);
+ void (*mark_many) (Marker* self, GeeCollection* list);
+ void (*unmark_many) (Marker* self, GeeCollection* list);
+ void (*mark_all) (Marker* self);
+ gint (*get_count) (Marker* self);
+ GeeCollection* (*get_all) (Marker* self);
+};
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+struct _DataObject {
+ GObject parent_instance;
+ DataObjectPrivate * priv;
+};
+
+struct _DataObjectClass {
+ GObjectClass parent_class;
+ void (*notify_altered) (DataObject* self, Alteration* alteration);
+ void (*notify_membership_changed) (DataObject* self, DataCollection* collection);
+ void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val);
+ void (*notify_collection_property_cleared) (DataObject* self, const gchar* name);
+ gchar* (*get_name) (DataObject* self);
+ gchar* (*to_string) (DataObject* self);
+};
+
+struct _DataView {
+ DataObject parent_instance;
+ DataViewPrivate * priv;
+};
+
+struct _DataViewClass {
+ DataObjectClass parent_class;
+ void (*notify_view_altered) (DataView* self);
+ void (*notify_geometry_altered) (DataView* self);
+ void (*notify_unsubscribed) (DataView* self, DataSource* source);
+ void (*state_changed) (DataView* self, gboolean selected);
+ void (*visibility_changed) (DataView* self, gboolean visible);
+ void (*view_altered) (DataView* self);
+ void (*geometry_altered) (DataView* self);
+ void (*unsubscribed) (DataView* self, DataSource* source);
+};
+
+struct _ThumbnailView {
+ DataView parent_instance;
+ ThumbnailViewPrivate * priv;
+};
+
+struct _ThumbnailViewClass {
+ DataViewClass parent_class;
+ void (*notify_thumbnail_altered) (ThumbnailView* self);
+ void (*thumbnail_altered) (ThumbnailView* self);
+};
+
+struct _Dimensions {
+ gint width;
+ gint height;
+};
+
+struct _CheckerboardItem {
+ ThumbnailView parent_instance;
+ CheckerboardItemPrivate * priv;
+ Dimensions requisition;
+ GdkRectangle allocation;
+};
+
+struct _CheckerboardItemClass {
+ ThumbnailViewClass parent_class;
+ void (*exposed) (CheckerboardItem* self);
+ void (*unexposed) (CheckerboardItem* self);
+ gboolean (*is_exposed) (CheckerboardItem* self);
+ void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha);
+ void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width);
+ void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin);
+ GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale);
+ GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale);
+ GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale);
+ GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale);
+};
+
+struct _MediaSourceItem {
+ CheckerboardItem parent_instance;
+ MediaSourceItemPrivate * priv;
+};
+
+struct _MediaSourceItemClass {
+ CheckerboardItemClass parent_class;
+};
+
+struct _Thumbnail {
+ MediaSourceItem parent_instance;
+ ThumbnailPrivate * priv;
+};
+
+struct _ThumbnailClass {
+ MediaSourceItemClass parent_class;
+};
+
+struct _OfflinePageOfflineView {
+ Thumbnail parent_instance;
+ OfflinePageOfflineViewPrivate * priv;
+};
+
+struct _OfflinePageOfflineViewClass {
+ ThumbnailClass parent_class;
+};
+
+struct _ViewFilter {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewFilterPrivate * priv;
+};
+
+struct _ViewFilterClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewFilter *self);
+ gboolean (*predicate) (ViewFilter* self, DataView* view);
+ void (*refresh) (ViewFilter* self);
+};
+
+struct _SearchViewFilter {
+ ViewFilter parent_instance;
+ SearchViewFilterPrivate * priv;
+};
+
+struct _SearchViewFilterClass {
+ ViewFilterClass parent_class;
+ guint (*get_criteria) (SearchViewFilter* self);
+};
+
+struct _DefaultSearchViewFilter {
+ SearchViewFilter parent_instance;
+ DefaultSearchViewFilterPrivate * priv;
+};
+
+struct _DefaultSearchViewFilterClass {
+ SearchViewFilterClass parent_class;
+};
+
+struct _OfflinePageOfflineSearchViewFilter {
+ DefaultSearchViewFilter parent_instance;
+ OfflinePageOfflineSearchViewFilterPrivate * priv;
+};
+
+struct _OfflinePageOfflineSearchViewFilterClass {
+ DefaultSearchViewFilterClass parent_class;
+};
+
+typedef enum {
+ SEARCH_FILTER_CRITERIA_NONE = 0,
+ SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0,
+ SEARCH_FILTER_CRITERIA_TEXT = 1 << 1,
+ SEARCH_FILTER_CRITERIA_FLAG = 1 << 2,
+ SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3,
+ SEARCH_FILTER_CRITERIA_RATING = 1 << 4,
+ SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5,
+ SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL
+} SearchFilterCriteria;
+
+
+static gpointer offline_page_parent_class = NULL;
+extern LibraryPhotoSourceCollection* library_photo_global;
+extern VideoSourceCollection* video_global;
+static gpointer offline_page_offline_view_parent_class = NULL;
+static gpointer offline_page_offline_search_view_filter_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType offline_page_get_type (void) G_GNUC_CONST;
+GType default_search_view_filter_get_type (void) G_GNUC_CONST;
+static GType offline_page_offline_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType media_view_tracker_get_type (void) G_GNUC_CONST;
+#define OFFLINE_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_OFFLINE_PAGE, OfflinePagePrivate))
+enum {
+ OFFLINE_PAGE_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+static void offline_page_on_offline_contents_altered (OfflinePage* self, GeeCollection* added, GeeCollection* removed);
+static void _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self);
+GType video_source_collection_get_type (void) G_GNUC_CONST;
+static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_new (void);
+static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_construct (GType object_type);
+#define OFFLINE_PAGE_NAME _ ("Missing Files")
+OfflinePage* offline_page_new (void);
+OfflinePage* offline_page_construct (GType object_type);
+CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name);
+void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path);
+void page_init_toolbar (Page* self, const gchar* path);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+MediaViewTracker* media_view_tracker_new (ViewCollection* collection);
+MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection);
+GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self);
+static void offline_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
+static GtkActionEntry* offline_page_real_init_collect_action_entries (Page* base, int* result_length1);
+GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
+#define RESOURCES_REMOVE_LABEL _ ("_Remove")
+#define TRANSLATABLE "translatable"
+static void offline_page_on_remove_from_library (OfflinePage* self);
+static void _offline_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library")
+#define RESOURCES_DELETE_FROM_LIBRARY_TOOLTIP _ ("Remove the selected photos from the library")
+static void _vala_array_add88 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static CoreViewTracker* offline_page_real_get_view_tracker (CheckerboardPage* base);
+static void offline_page_real_update_actions (Page* base, gint selected_count, gint count);
+void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive);
+void page_set_action_important (Page* self, const gchar* name, gboolean important);
+void page_update_actions (Page* self, gint selected_count, gint count);
+gboolean data_collection_add (DataCollection* self, DataObject* object);
+static OfflinePageOfflineView* offline_page_offline_view_new (MediaSource* source);
+static OfflinePageOfflineView* offline_page_offline_view_construct (GType object_type, MediaSource* source);
+GType media_source_item_get_type (void) G_GNUC_CONST;
+GType thumbnail_get_type (void) G_GNUC_CONST;
+static GType offline_page_offline_view_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType marker_get_type (void) G_GNUC_CONST;
+Marker* data_collection_start_marking (DataCollection* self);
+void marker_mark (Marker* self, DataObject* object);
+DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source);
+void data_collection_remove_marked (DataCollection* self, Marker* m);
+GeeList* view_collection_get_selected_sources (ViewCollection* self);
+gboolean remove_offline_dialog (GtkWindow* owner, gint count);
+GType app_window_get_type (void) G_GNUC_CONST;
+AppWindow* app_window_get_instance (void);
+void page_window_set_busy_cursor (PageWindow* self);
+GType progress_dialog_get_type (void) G_GNUC_CONST;
+ProgressDialog* progress_dialog_new (GtkWindow* owner, const gchar* text, GCancellable* cancellable);
+ProgressDialog* progress_dialog_construct (GType object_type, GtkWindow* owner, const gchar* text, GCancellable* cancellable);
+GType photo_source_get_type (void) G_GNUC_CONST;
+GType photo_get_type (void) G_GNUC_CONST;
+GType library_photo_get_type (void) G_GNUC_CONST;
+GType video_source_get_type (void) G_GNUC_CONST;
+GType video_get_type (void) G_GNUC_CONST;
+void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos);
+void media_source_collection_remove_from_app (MediaSourceCollection* self, GeeCollection* sources, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed);
+gboolean progress_dialog_monitor (ProgressDialog* self, guint64 count, guint64 total, gboolean do_event_loop);
+static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self);
+void progress_dialog_close (ProgressDialog* self);
+void page_window_set_normal_cursor (PageWindow* self);
+static SearchViewFilter* offline_page_real_get_search_view_filter (CheckerboardPage* base);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+GType dimensions_get_type (void) G_GNUC_CONST;
+Dimensions* dimensions_dup (const Dimensions* self);
+void dimensions_free (Dimensions* self);
+enum {
+ OFFLINE_PAGE_OFFLINE_VIEW_DUMMY_PROPERTY
+};
+gint thumbnail_get_DEFAULT_SCALE (void);
+Thumbnail* thumbnail_new (MediaSource* media, gint scale);
+Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale);
+gboolean media_source_is_offline (MediaSource* self);
+enum {
+ OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER_DUMMY_PROPERTY
+};
+static guint offline_page_offline_search_view_filter_real_get_criteria (SearchViewFilter* base);
+GType search_filter_criteria_get_type (void) G_GNUC_CONST;
+DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type);
+static void offline_page_finalize (GObject* obj);
+
+
+static void _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) {
+#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_on_offline_contents_altered ((OfflinePage*) self, added, removed);
+#line 874 "OfflinePage.c"
+}
+
+
+OfflinePage* offline_page_construct (GType object_type) {
+ OfflinePage * self = NULL;
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ MediaViewTracker* _tmp2_ = NULL;
+ LibraryPhotoSourceCollection* _tmp3_ = NULL;
+ VideoSourceCollection* _tmp4_ = NULL;
+ LibraryPhotoSourceCollection* _tmp5_ = NULL;
+ GeeCollection* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+ VideoSourceCollection* _tmp8_ = NULL;
+ GeeCollection* _tmp9_ = NULL;
+ GeeCollection* _tmp10_ = NULL;
+#line 29 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = (OfflinePage*) checkerboard_page_construct (object_type, OFFLINE_PAGE_NAME);
+#line 31 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/OfflineContextMenu");
+#line 32 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ page_init_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "/OfflineToolbar");
+#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = _tmp0_;
+#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_ = media_view_tracker_new (_tmp1_);
+#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _core_tracker_unref0 (self->priv->tracker);
+#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self->priv->tracker = _tmp2_;
+#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 37 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp3_ = library_photo_global;
+#line 37 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self, 0);
+#line 38 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp4_ = video_global;
+#line 38 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self, 0);
+#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp5_ = library_photo_global;
+#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp6_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp7_ = _tmp6_;
+#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_on_offline_contents_altered (self, _tmp7_, NULL);
+#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp7_);
+#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp8_ = video_global;
+#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp9_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp10_ = _tmp9_;
+#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_on_offline_contents_altered (self, _tmp10_, NULL);
+#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp10_);
+#line 28 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return self;
+#line 939 "OfflinePage.c"
+}
+
+
+OfflinePage* offline_page_new (void) {
+#line 28 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return offline_page_construct (TYPE_OFFLINE_PAGE);
+#line 946 "OfflinePage.c"
+}
+
+
+static void offline_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ OfflinePage * self;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+#line 49 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage);
+#line 49 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 50 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = ui_filenames;
+#line 50 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ PAGE_CLASS (offline_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_);
+#line 52 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = ui_filenames;
+#line 52 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "offline.ui");
+#line 966 "OfflinePage.c"
+}
+
+
+static void _offline_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_on_remove_from_library ((OfflinePage*) self);
+#line 973 "OfflinePage.c"
+}
+
+
+static void _vala_array_add88 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if ((*length) == (*size)) {
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 984 "OfflinePage.c"
+ }
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ (*array)[(*length)++] = *value;
+#line 988 "OfflinePage.c"
+}
+
+
+static GtkActionEntry* offline_page_real_init_collect_action_entries (Page* base, int* result_length1) {
+ OfflinePage * self;
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* actions = NULL;
+ gint _tmp0_ = 0;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry remove = {0};
+ GtkActionEntry _tmp2_ = {0};
+ GtkActionEntry* _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ GtkActionEntry _tmp4_ = {0};
+ GtkActionEntry* _tmp5_ = NULL;
+ gint _tmp5__length1 = 0;
+#line 55 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage);
+#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = PAGE_CLASS (offline_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_);
+#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ actions = _tmp1_;
+#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ actions_length1 = _tmp0_;
+#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _actions_size_ = actions_length1;
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_.name = "RemoveFromLibrary";
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_.stock_id = RESOURCES_REMOVE_LABEL;
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_.accelerator = "Delete";
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_.tooltip = TRANSLATABLE;
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_.callback = (GCallback) _offline_page_on_remove_from_library_gtk_action_callback;
+#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ remove = _tmp2_;
+#line 60 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ remove.label = RESOURCES_REMOVE_FROM_LIBRARY_MENU;
+#line 61 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ remove.tooltip = RESOURCES_DELETE_FROM_LIBRARY_TOOLTIP;
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp3_ = actions;
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp3__length1 = actions_length1;
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp4_ = remove;
+#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _vala_array_add88 (&actions, &actions_length1, &_actions_size_, &_tmp4_);
+#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp5_ = actions;
+#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp5__length1 = actions_length1;
+#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (result_length1) {
+#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ *result_length1 = _tmp5__length1;
+#line 1051 "OfflinePage.c"
+ }
+#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ result = _tmp5_;
+#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return result;
+#line 1057 "OfflinePage.c"
+}
+
+
+static gpointer _core_tracker_ref0 (gpointer self) {
+#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return self ? core_tracker_ref (self) : NULL;
+#line 1064 "OfflinePage.c"
+}
+
+
+static CoreViewTracker* offline_page_real_get_view_tracker (CheckerboardPage* base) {
+ OfflinePage * self;
+ CoreViewTracker* result = NULL;
+ MediaViewTracker* _tmp0_ = NULL;
+ CoreViewTracker* _tmp1_ = NULL;
+#line 67 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage);
+#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = self->priv->tracker;
+#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, CORE_TYPE_VIEW_TRACKER, CoreViewTracker));
+#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ result = _tmp1_;
+#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return result;
+#line 1083 "OfflinePage.c"
+}
+
+
+static void offline_page_real_update_actions (Page* base, gint selected_count, gint count) {
+ OfflinePage * self;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 71 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage);
+#line 72 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = selected_count;
+#line 72 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RemoveFromLibrary", _tmp0_ > 0);
+#line 73 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RemoveFromLibrary", TRUE);
+#line 75 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = selected_count;
+#line 75 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_ = count;
+#line 75 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ PAGE_CLASS (offline_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp1_, _tmp2_);
+#line 1106 "OfflinePage.c"
+}
+
+
+static void offline_page_on_offline_contents_altered (OfflinePage* self, GeeCollection* added, GeeCollection* removed) {
+ GeeCollection* _tmp0_ = NULL;
+ GeeCollection* _tmp12_ = NULL;
+#line 78 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_return_if_fail (IS_OFFLINE_PAGE (self));
+#line 78 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added));
+#line 78 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed));
+#line 80 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = added;
+#line 80 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp0_ != NULL) {
+#line 1123 "OfflinePage.c"
+ {
+ GeeIterator* _source_it = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeIterator* _tmp2_ = NULL;
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = added;
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _source_it = _tmp2_;
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ while (TRUE) {
+#line 1136 "OfflinePage.c"
+ GeeIterator* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ MediaSource* source = NULL;
+ GeeIterator* _tmp5_ = NULL;
+ gpointer _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ ViewCollection* _tmp8_ = NULL;
+ MediaSource* _tmp9_ = NULL;
+ OfflinePageOfflineView* _tmp10_ = NULL;
+ OfflinePageOfflineView* _tmp11_ = NULL;
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp3_ = _source_it;
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp4_ = gee_iterator_next (_tmp3_);
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (!_tmp4_) {
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ break;
+#line 1155 "OfflinePage.c"
+ }
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp5_ = _source_it;
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp6_ = gee_iterator_get (_tmp5_);
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ source = (MediaSource*) _tmp6_;
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp8_ = _tmp7_;
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp9_ = source;
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp10_ = offline_page_offline_view_new (_tmp9_);
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp11_ = _tmp10_;
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject));
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp11_);
+#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _data_collection_unref0 (_tmp8_);
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (source);
+#line 1181 "OfflinePage.c"
+ }
+#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_source_it);
+#line 1185 "OfflinePage.c"
+ }
+ }
+#line 85 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp12_ = removed;
+#line 85 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp12_ != NULL) {
+#line 1192 "OfflinePage.c"
+ Marker* marker = NULL;
+ ViewCollection* _tmp13_ = NULL;
+ ViewCollection* _tmp14_ = NULL;
+ Marker* _tmp15_ = NULL;
+ Marker* _tmp16_ = NULL;
+ ViewCollection* _tmp29_ = NULL;
+ ViewCollection* _tmp30_ = NULL;
+ Marker* _tmp31_ = NULL;
+#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp14_ = _tmp13_;
+#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp15_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection));
+#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp16_ = _tmp15_;
+#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _data_collection_unref0 (_tmp14_);
+#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ marker = _tmp16_;
+#line 1213 "OfflinePage.c"
+ {
+ GeeIterator* _source_it = NULL;
+ GeeCollection* _tmp17_ = NULL;
+ GeeIterator* _tmp18_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp17_ = removed;
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _source_it = _tmp18_;
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ while (TRUE) {
+#line 1226 "OfflinePage.c"
+ GeeIterator* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+ MediaSource* source = NULL;
+ GeeIterator* _tmp21_ = NULL;
+ gpointer _tmp22_ = NULL;
+ Marker* _tmp23_ = NULL;
+ ViewCollection* _tmp24_ = NULL;
+ ViewCollection* _tmp25_ = NULL;
+ MediaSource* _tmp26_ = NULL;
+ DataView* _tmp27_ = NULL;
+ DataView* _tmp28_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp19_ = _source_it;
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp20_ = gee_iterator_next (_tmp19_);
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (!_tmp20_) {
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ break;
+#line 1246 "OfflinePage.c"
+ }
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp21_ = _source_it;
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp22_ = gee_iterator_get (_tmp21_);
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ source = (MediaSource*) _tmp22_;
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp23_ = marker;
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp24_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp25_ = _tmp24_;
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp26_ = source;
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp27_ = view_collection_get_view_for_source (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_SOURCE, DataSource));
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp28_ = _tmp27_;
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ marker_mark (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_OBJECT, DataObject));
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp28_);
+#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _data_collection_unref0 (_tmp25_);
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (source);
+#line 1274 "OfflinePage.c"
+ }
+#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_source_it);
+#line 1278 "OfflinePage.c"
+ }
+#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp29_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp30_ = _tmp29_;
+#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp31_ = marker;
+#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_COLLECTION, DataCollection), _tmp31_);
+#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _data_collection_unref0 (_tmp30_);
+#line 85 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (marker);
+#line 1292 "OfflinePage.c"
+ }
+}
+
+
+static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self) {
+ gboolean result;
+ result = progress_dialog_monitor ((ProgressDialog*) self, current, total, do_event_loop);
+#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return result;
+#line 1302 "OfflinePage.c"
+}
+
+
+static void offline_page_on_remove_from_library (OfflinePage* self) {
+ GeeCollection* sources = NULL;
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeCollection* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ AppWindow* _tmp7_ = NULL;
+ AppWindow* _tmp8_ = NULL;
+ GeeCollection* _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ gboolean _tmp12_ = FALSE;
+ gboolean _tmp13_ = FALSE;
+ AppWindow* _tmp14_ = NULL;
+ AppWindow* _tmp15_ = NULL;
+ ProgressDialog* progress = NULL;
+ GeeCollection* _tmp16_ = NULL;
+ gint _tmp17_ = 0;
+ gint _tmp18_ = 0;
+ GeeArrayList* photos = NULL;
+ GeeArrayList* _tmp23_ = NULL;
+ GeeArrayList* videos = NULL;
+ GeeArrayList* _tmp24_ = NULL;
+ GeeCollection* _tmp25_ = NULL;
+ GeeArrayList* _tmp26_ = NULL;
+ GeeArrayList* _tmp27_ = NULL;
+ ProgressDialog* _tmp28_ = NULL;
+ ProgressDialog* _tmp39_ = NULL;
+ AppWindow* _tmp41_ = NULL;
+ AppWindow* _tmp42_ = NULL;
+#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_return_if_fail (IS_OFFLINE_PAGE (self));
+#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = _tmp0_;
+#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_ = view_collection_get_selected_sources (_tmp1_);
+#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection);
+#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ sources = _tmp3_;
+#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp4_ = sources;
+#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp5_ = gee_collection_get_size (_tmp4_);
+#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp6_ = _tmp5_;
+#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp6_ == 0) {
+#line 97 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (sources);
+#line 97 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return;
+#line 1365 "OfflinePage.c"
+ }
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp7_ = app_window_get_instance ();
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp8_ = _tmp7_;
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp9_ = sources;
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp10_ = gee_collection_get_size (_tmp9_);
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp11_ = _tmp10_;
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp12_ = remove_offline_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), _tmp11_);
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp13_ = !_tmp12_;
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp8_);
+#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp13_) {
+#line 100 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (sources);
+#line 100 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return;
+#line 1389 "OfflinePage.c"
+ }
+#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp14_ = app_window_get_instance ();
+#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp15_ = _tmp14_;
+#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE_WINDOW, PageWindow));
+#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp15_);
+#line 104 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ progress = NULL;
+#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp16_ = sources;
+#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp17_ = gee_collection_get_size (_tmp16_);
+#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp18_ = _tmp17_;
+#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp18_ >= 20) {
+#line 1409 "OfflinePage.c"
+ AppWindow* _tmp19_ = NULL;
+ AppWindow* _tmp20_ = NULL;
+ const gchar* _tmp21_ = NULL;
+ ProgressDialog* _tmp22_ = NULL;
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp19_ = app_window_get_instance ();
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp20_ = _tmp19_;
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp21_ = _ ("Deleting...");
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp22_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_window_get_type (), GtkWindow), _tmp21_, NULL);
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_object_ref_sink (_tmp22_);
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (progress);
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ progress = _tmp22_;
+#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp20_);
+#line 1430 "OfflinePage.c"
+ }
+#line 108 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp23_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 108 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ photos = _tmp23_;
+#line 109 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp24_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 109 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ videos = _tmp24_;
+#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp25_ = sources;
+#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp26_ = photos;
+#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp27_ = videos;
+#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ media_source_collection_filter_media (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 112 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp28_ = progress;
+#line 112 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp28_ != NULL) {
+#line 1452 "OfflinePage.c"
+ LibraryPhotoSourceCollection* _tmp29_ = NULL;
+ GeeArrayList* _tmp30_ = NULL;
+ ProgressDialog* _tmp31_ = NULL;
+ VideoSourceCollection* _tmp32_ = NULL;
+ GeeArrayList* _tmp33_ = NULL;
+ ProgressDialog* _tmp34_ = NULL;
+#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp29_ = library_photo_global;
+#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp30_ = photos;
+#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp31_ = progress;
+#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, _progress_dialog_monitor_progress_monitor, _tmp31_, NULL);
+#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp32_ = video_global;
+#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp33_ = videos;
+#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp34_ = progress;
+#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, _progress_dialog_monitor_progress_monitor, _tmp34_, NULL);
+#line 1475 "OfflinePage.c"
+ } else {
+ LibraryPhotoSourceCollection* _tmp35_ = NULL;
+ GeeArrayList* _tmp36_ = NULL;
+ VideoSourceCollection* _tmp37_ = NULL;
+ GeeArrayList* _tmp38_ = NULL;
+#line 116 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp35_ = library_photo_global;
+#line 116 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp36_ = photos;
+#line 116 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, NULL, NULL);
+#line 117 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp37_ = video_global;
+#line 117 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp38_ = videos;
+#line 117 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, NULL, NULL);
+#line 1493 "OfflinePage.c"
+ }
+#line 120 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp39_ = progress;
+#line 120 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ if (_tmp39_ != NULL) {
+#line 1499 "OfflinePage.c"
+ ProgressDialog* _tmp40_ = NULL;
+#line 121 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp40_ = progress;
+#line 121 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ progress_dialog_close (_tmp40_);
+#line 1505 "OfflinePage.c"
+ }
+#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp41_ = app_window_get_instance ();
+#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp42_ = _tmp41_;
+#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PAGE_WINDOW, PageWindow));
+#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (_tmp42_);
+#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (videos);
+#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (photos);
+#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (progress);
+#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _g_object_unref0 (sources);
+#line 1523 "OfflinePage.c"
+}
+
+
+static gpointer _view_filter_ref0 (gpointer self) {
+#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return self ? view_filter_ref (self) : NULL;
+#line 1530 "OfflinePage.c"
+}
+
+
+static SearchViewFilter* offline_page_real_get_search_view_filter (CheckerboardPage* base) {
+ OfflinePage * self;
+ SearchViewFilter* result = NULL;
+ OfflinePageOfflineSearchViewFilter* _tmp0_ = NULL;
+ SearchViewFilter* _tmp1_ = NULL;
+#line 126 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage);
+#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = self->priv->search_filter;
+#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
+#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ result = _tmp1_;
+#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return result;
+#line 1549 "OfflinePage.c"
+}
+
+
+static OfflinePageOfflineView* offline_page_offline_view_construct (GType object_type, MediaSource* source) {
+ OfflinePageOfflineView * self = NULL;
+ MediaSource* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ MediaSource* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 11 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL);
+#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = source;
+#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp1_ = thumbnail_get_DEFAULT_SCALE ();
+#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_ = _tmp1_;
+#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = (OfflinePageOfflineView*) thumbnail_construct (object_type, _tmp0_, _tmp2_);
+#line 14 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp3_ = source;
+#line 14 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp4_ = media_source_is_offline (_tmp3_);
+#line 14 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _vala_assert (_tmp4_, "source.is_offline()");
+#line 11 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return self;
+#line 1578 "OfflinePage.c"
+}
+
+
+static OfflinePageOfflineView* offline_page_offline_view_new (MediaSource* source) {
+#line 11 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return offline_page_offline_view_construct (OFFLINE_PAGE_TYPE_OFFLINE_VIEW, source);
+#line 1585 "OfflinePage.c"
+}
+
+
+static void offline_page_offline_view_class_init (OfflinePageOfflineViewClass * klass) {
+#line 10 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_offline_view_parent_class = g_type_class_peek_parent (klass);
+#line 1592 "OfflinePage.c"
+}
+
+
+static void offline_page_offline_view_instance_init (OfflinePageOfflineView * self) {
+}
+
+
+static GType offline_page_offline_view_get_type (void) {
+ static volatile gsize offline_page_offline_view_type_id__volatile = 0;
+ if (g_once_init_enter (&offline_page_offline_view_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (OfflinePageOfflineViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) offline_page_offline_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OfflinePageOfflineView), 0, (GInstanceInitFunc) offline_page_offline_view_instance_init, NULL };
+ GType offline_page_offline_view_type_id;
+ offline_page_offline_view_type_id = g_type_register_static (TYPE_THUMBNAIL, "OfflinePageOfflineView", &g_define_type_info, 0);
+ g_once_init_leave (&offline_page_offline_view_type_id__volatile, offline_page_offline_view_type_id);
+ }
+ return offline_page_offline_view_type_id__volatile;
+}
+
+
+static guint offline_page_offline_search_view_filter_real_get_criteria (SearchViewFilter* base) {
+ OfflinePageOfflineSearchViewFilter * self;
+ guint result = 0U;
+#line 19 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilter);
+#line 20 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ result = (guint) ((((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_FLAG) | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH);
+#line 20 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return result;
+#line 1621 "OfflinePage.c"
+}
+
+
+static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_construct (GType object_type) {
+ OfflinePageOfflineSearchViewFilter* self = NULL;
+#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = (OfflinePageOfflineSearchViewFilter*) default_search_view_filter_construct (object_type);
+#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return self;
+#line 1631 "OfflinePage.c"
+}
+
+
+static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_new (void) {
+#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ return offline_page_offline_search_view_filter_construct (OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER);
+#line 1638 "OfflinePage.c"
+}
+
+
+static void offline_page_offline_search_view_filter_class_init (OfflinePageOfflineSearchViewFilterClass * klass) {
+#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_offline_search_view_filter_parent_class = g_type_class_peek_parent (klass);
+#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ ((SearchViewFilterClass *) klass)->get_criteria = offline_page_offline_search_view_filter_real_get_criteria;
+#line 1647 "OfflinePage.c"
+}
+
+
+static void offline_page_offline_search_view_filter_instance_init (OfflinePageOfflineSearchViewFilter * self) {
+}
+
+
+static GType offline_page_offline_search_view_filter_get_type (void) {
+ static volatile gsize offline_page_offline_search_view_filter_type_id__volatile = 0;
+ if (g_once_init_enter (&offline_page_offline_search_view_filter_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (OfflinePageOfflineSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) offline_page_offline_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OfflinePageOfflineSearchViewFilter), 0, (GInstanceInitFunc) offline_page_offline_search_view_filter_instance_init, NULL };
+ GType offline_page_offline_search_view_filter_type_id;
+ offline_page_offline_search_view_filter_type_id = g_type_register_static (TYPE_DEFAULT_SEARCH_VIEW_FILTER, "OfflinePageOfflineSearchViewFilter", &g_define_type_info, 0);
+ g_once_init_leave (&offline_page_offline_search_view_filter_type_id__volatile, offline_page_offline_search_view_filter_type_id);
+ }
+ return offline_page_offline_search_view_filter_type_id__volatile;
+}
+
+
+static void offline_page_class_init (OfflinePageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ offline_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_type_class_add_private (klass, sizeof (OfflinePagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = offline_page_real_init_collect_ui_filenames;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ ((PageClass *) klass)->init_collect_action_entries = offline_page_real_init_collect_action_entries;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ ((CheckerboardPageClass *) klass)->get_view_tracker = offline_page_real_get_view_tracker;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ ((PageClass *) klass)->update_actions = offline_page_real_update_actions;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ ((CheckerboardPageClass *) klass)->get_search_view_filter = offline_page_real_get_search_view_filter;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ G_OBJECT_CLASS (klass)->finalize = offline_page_finalize;
+#line 1684 "OfflinePage.c"
+}
+
+
+static void offline_page_instance_init (OfflinePage * self) {
+ OfflinePageOfflineSearchViewFilter* _tmp0_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self->priv = OFFLINE_PAGE_GET_PRIVATE (self);
+#line 25 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = offline_page_offline_search_view_filter_new ();
+#line 25 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self->priv->search_filter = _tmp0_;
+#line 1696 "OfflinePage.c"
+}
+
+
+static void offline_page_finalize (GObject* obj) {
+ OfflinePage * self;
+ LibraryPhotoSourceCollection* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ VideoSourceCollection* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_OFFLINE_PAGE, OfflinePage);
+#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp0_ = library_photo_global;
+#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_signal_parse_name ("offline-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE);
+#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self);
+#line 46 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _tmp2_ = video_global;
+#line 46 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_signal_parse_name ("offline-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE);
+#line 46 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self);
+#line 25 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _view_filter_unref0 (self->priv->search_filter);
+#line 26 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ _core_tracker_unref0 (self->priv->tracker);
+#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala"
+ G_OBJECT_CLASS (offline_page_parent_class)->finalize (obj);
+#line 1726 "OfflinePage.c"
+}
+
+
+GType offline_page_get_type (void) {
+ static volatile gsize offline_page_type_id__volatile = 0;
+ if (g_once_init_enter (&offline_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (OfflinePageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) offline_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OfflinePage), 0, (GInstanceInitFunc) offline_page_instance_init, NULL };
+ GType offline_page_type_id;
+ offline_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "OfflinePage", &g_define_type_info, 0);
+ g_once_init_leave (&offline_page_type_id__volatile, offline_page_type_id);
+ }
+ return offline_page_type_id__volatile;
+}
+
+
+
diff --git a/src/library/OfflinePage.vala b/src/library/OfflinePage.vala
index f8ba7c1..771a1fd 100644
--- a/src/library/OfflinePage.vala
+++ b/src/library/OfflinePage.vala
@@ -18,7 +18,7 @@ public class OfflinePage : CheckerboardPage {
private class OfflineSearchViewFilter : DefaultSearchViewFilter {
public override uint get_criteria() {
return SearchFilterCriteria.TEXT | SearchFilterCriteria.FLAG |
- SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING;
+ SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH;
}
}
diff --git a/src/library/OfflineSidebarEntry.c b/src/library/OfflineSidebarEntry.c
new file mode 100644
index 0000000..a2025d1
--- /dev/null
+++ b/src/library/OfflineSidebarEntry.c
@@ -0,0 +1,700 @@
+/* OfflineSidebarEntry.c generated by valac 0.32.1, the Vala compiler
+ * generated from OfflineSidebarEntry.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gee.h>
+#include <glib/gi18n-lib.h>
+
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
+#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
+#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
+
+typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
+typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;
+typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate;
+
+#define LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY (library_offline_sidebar_entry_get_type ())
+#define LIBRARY_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry))
+#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass))
+#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY))
+#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY))
+#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass))
+
+typedef struct _LibraryOfflineSidebarEntry LibraryOfflineSidebarEntry;
+typedef struct _LibraryOfflineSidebarEntryClass LibraryOfflineSidebarEntryClass;
+typedef struct _LibraryOfflineSidebarEntryPrivate LibraryOfflineSidebarEntryPrivate;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_OFFLINE_PAGE (offline_page_get_type ())
+#define OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OFFLINE_PAGE, OfflinePage))
+#define OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OFFLINE_PAGE, OfflinePageClass))
+#define IS_OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OFFLINE_PAGE))
+#define IS_OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OFFLINE_PAGE))
+#define OFFLINE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OFFLINE_PAGE, OfflinePageClass))
+
+typedef struct _OfflinePage OfflinePage;
+typedef struct _OfflinePageClass OfflinePageClass;
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _LibraryHideablePageEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryHideablePageEntryPrivate * priv;
+};
+
+struct _LibraryHideablePageEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _LibraryOfflineSidebarEntry {
+ LibraryHideablePageEntry parent_instance;
+ LibraryOfflineSidebarEntryPrivate * priv;
+};
+
+struct _LibraryOfflineSidebarEntryClass {
+ LibraryHideablePageEntryClass parent_class;
+};
+
+
+static gpointer library_offline_sidebar_entry_parent_class = NULL;
+
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
+GType library_offline_sidebar_entry_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_OFFLINE_SIDEBAR_ENTRY_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+static void library_offline_sidebar_entry_on_offline_contents_altered (LibraryOfflineSidebarEntry* self);
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self);
+LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void);
+LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type);
+LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type);
+static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self);
+static gint library_offline_sidebar_entry_get_total_offline (LibraryOfflineSidebarEntry* self);
+void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value);
+GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self);
+static gchar* library_offline_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define OFFLINE_PAGE_NAME _ ("Missing Files")
+static gchar* library_offline_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+#define RESOURCES_ICON_MISSING_FILES "process-stop"
+static Page* library_offline_sidebar_entry_real_create_page (SidebarSimplePageEntry* base);
+OfflinePage* offline_page_new (void);
+OfflinePage* offline_page_construct (GType object_type);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType offline_page_get_type (void) G_GNUC_CONST;
+static void library_offline_sidebar_entry_finalize (GObject* obj);
+
+
+static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) {
+#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ library_offline_sidebar_entry_on_offline_contents_altered ((LibraryOfflineSidebarEntry*) self);
+#line 338 "OfflineSidebarEntry.c"
+}
+
+
+static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) {
+#line 11 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ library_offline_sidebar_entry_on_offline_contents_altered ((LibraryOfflineSidebarEntry*) self);
+#line 345 "OfflineSidebarEntry.c"
+}
+
+
+LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type) {
+ LibraryOfflineSidebarEntry * self = NULL;
+ gint _tmp11_ = 0;
+#line 8 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ self = (LibraryOfflineSidebarEntry*) library_hideable_page_entry_construct (object_type);
+#line 354 "OfflineSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ while (TRUE) {
+#line 383 "OfflineSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ break;
+#line 398 "OfflineSidebarEntry.c"
+ }
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 11 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 11 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ g_signal_connect_object (_tmp10_, "offline-contents-altered", (GCallback) _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_offline_contents_altered, self, 0);
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 412 "OfflineSidebarEntry.c"
+ }
+#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 416 "OfflineSidebarEntry.c"
+ }
+#line 13 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp11_ = library_offline_sidebar_entry_get_total_offline (self);
+#line 13 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp11_ != 0);
+#line 8 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ return self;
+#line 424 "OfflineSidebarEntry.c"
+}
+
+
+LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void) {
+#line 8 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ return library_offline_sidebar_entry_construct (LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY);
+#line 431 "OfflineSidebarEntry.c"
+}
+
+
+static void library_offline_sidebar_entry_on_offline_contents_altered (LibraryOfflineSidebarEntry* self) {
+ gint _tmp0_ = 0;
+#line 21 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY (self));
+#line 22 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = library_offline_sidebar_entry_get_total_offline (self);
+#line 22 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp0_ != 0);
+#line 443 "OfflineSidebarEntry.c"
+}
+
+
+static gint library_offline_sidebar_entry_get_total_offline (LibraryOfflineSidebarEntry* self) {
+ gint result = 0;
+ gint total = 0;
+#line 25 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ g_return_val_if_fail (LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY (self), 0);
+#line 26 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ total = 0;
+#line 454 "OfflineSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ while (TRUE) {
+#line 483 "OfflineSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ MediaSourceCollection* _tmp11_ = NULL;
+ GeeCollection* _tmp12_ = NULL;
+ GeeCollection* _tmp13_ = NULL;
+ gint _tmp14_ = 0;
+ gint _tmp15_ = 0;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ break;
+#line 503 "OfflineSidebarEntry.c"
+ }
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp10_ = total;
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp11_ = media_sources;
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp12_ = media_source_collection_get_offline_bin_contents (_tmp11_);
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp13_ = _tmp12_;
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp14_ = gee_collection_get_size (_tmp13_);
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp15_ = _tmp14_;
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ total = _tmp10_ + _tmp15_;
+#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_tmp13_);
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 529 "OfflineSidebarEntry.c"
+ }
+#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 533 "OfflineSidebarEntry.c"
+ }
+#line 30 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ result = total;
+#line 30 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ return result;
+#line 539 "OfflineSidebarEntry.c"
+}
+
+
+static gchar* library_offline_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ LibraryOfflineSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 33 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry);
+#line 34 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = g_strdup (OFFLINE_PAGE_NAME);
+#line 34 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ result = _tmp0_;
+#line 34 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ return result;
+#line 555 "OfflineSidebarEntry.c"
+}
+
+
+static gchar* library_offline_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ LibraryOfflineSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 37 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry);
+#line 38 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = g_strdup (RESOURCES_ICON_MISSING_FILES);
+#line 38 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ result = _tmp0_;
+#line 38 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ return result;
+#line 571 "OfflineSidebarEntry.c"
+}
+
+
+static Page* library_offline_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) {
+ LibraryOfflineSidebarEntry * self;
+ Page* result = NULL;
+ OfflinePage* _tmp0_ = NULL;
+#line 41 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry);
+#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = offline_page_new ();
+#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ g_object_ref_sink (_tmp0_);
+#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ return result;
+#line 589 "OfflineSidebarEntry.c"
+}
+
+
+static void library_offline_sidebar_entry_class_init (LibraryOfflineSidebarEntryClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ library_offline_sidebar_entry_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_offline_sidebar_entry_real_get_sidebar_name;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_offline_sidebar_entry_real_get_sidebar_icon;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = library_offline_sidebar_entry_real_create_page;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_offline_sidebar_entry_finalize;
+#line 604 "OfflineSidebarEntry.c"
+}
+
+
+static void library_offline_sidebar_entry_instance_init (LibraryOfflineSidebarEntry * self) {
+}
+
+
+static void library_offline_sidebar_entry_finalize (GObject* obj) {
+ LibraryOfflineSidebarEntry * self;
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry);
+#line 616 "OfflineSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ while (TRUE) {
+#line 645 "OfflineSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+ guint _tmp11_ = 0U;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ break;
+#line 661 "OfflineSidebarEntry.c"
+ }
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE);
+#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_trashcan_contents_altered, self);
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 677 "OfflineSidebarEntry.c"
+ }
+#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 681 "OfflineSidebarEntry.c"
+ }
+#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala"
+ G_OBJECT_CLASS (library_offline_sidebar_entry_parent_class)->finalize (obj);
+#line 685 "OfflineSidebarEntry.c"
+}
+
+
+GType library_offline_sidebar_entry_get_type (void) {
+ static volatile gsize library_offline_sidebar_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_offline_sidebar_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryOfflineSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_offline_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryOfflineSidebarEntry), 0, (GInstanceInitFunc) library_offline_sidebar_entry_instance_init, NULL };
+ GType library_offline_sidebar_entry_type_id;
+ library_offline_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryOfflineSidebarEntry", &g_define_type_info, 0);
+ g_once_init_leave (&library_offline_sidebar_entry_type_id__volatile, library_offline_sidebar_entry_type_id);
+ }
+ return library_offline_sidebar_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/library/TrashPage.c b/src/library/TrashPage.c
new file mode 100644
index 0000000..000b8b5
--- /dev/null
+++ b/src/library/TrashPage.c
@@ -0,0 +1,1706 @@
+/* TrashPage.c generated by valac 0.32.1, the Vala compiler
+ * generated from TrashPage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+#include <cairo.h>
+#include <float.h>
+#include <math.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+
+#define TYPE_TRASH_PAGE (trash_page_get_type ())
+#define TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_PAGE, TrashPage))
+#define TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_PAGE, TrashPageClass))
+#define IS_TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_PAGE))
+#define IS_TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_PAGE))
+#define TRASH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_PAGE, TrashPageClass))
+
+typedef struct _TrashPage TrashPage;
+typedef struct _TrashPageClass TrashPageClass;
+typedef struct _TrashPagePrivate TrashPagePrivate;
+
+#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ())
+#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter))
+#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
+#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
+#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
+#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
+
+typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter;
+typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass;
+
+#define TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER (trash_page_trash_search_view_filter_get_type ())
+#define TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilter))
+#define TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilterClass))
+#define TRASH_PAGE_IS_TRASH_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER))
+#define TRASH_PAGE_IS_TRASH_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER))
+#define TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilterClass))
+
+typedef struct _TrashPageTrashSearchViewFilter TrashPageTrashSearchViewFilter;
+typedef struct _TrashPageTrashSearchViewFilterClass TrashPageTrashSearchViewFilterClass;
+
+#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ())
+#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker))
+#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass))
+#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER))
+#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER))
+#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass))
+
+typedef struct _MediaViewTracker MediaViewTracker;
+typedef struct _MediaViewTrackerClass MediaViewTrackerClass;
+#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))
+#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL)))
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
+#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+
+typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
+typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
+#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
+#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
+#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
+#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+
+typedef struct _VideoSourceCollection VideoSourceCollection;
+typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ())
+#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem))
+#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))
+#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM))
+#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM))
+#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))
+
+typedef struct _MediaSourceItem MediaSourceItem;
+typedef struct _MediaSourceItemClass MediaSourceItemClass;
+
+#define TYPE_THUMBNAIL (thumbnail_get_type ())
+#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail))
+#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass))
+#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL))
+#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL))
+#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass))
+
+typedef struct _Thumbnail Thumbnail;
+typedef struct _ThumbnailClass ThumbnailClass;
+
+#define TRASH_PAGE_TYPE_TRASH_VIEW (trash_page_trash_view_get_type ())
+#define TRASH_PAGE_TRASH_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRASH_PAGE_TYPE_TRASH_VIEW, TrashPageTrashView))
+#define TRASH_PAGE_TRASH_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRASH_PAGE_TYPE_TRASH_VIEW, TrashPageTrashViewClass))
+#define TRASH_PAGE_IS_TRASH_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRASH_PAGE_TYPE_TRASH_VIEW))
+#define TRASH_PAGE_IS_TRASH_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRASH_PAGE_TYPE_TRASH_VIEW))
+#define TRASH_PAGE_TRASH_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRASH_PAGE_TYPE_TRASH_VIEW, TrashPageTrashViewClass))
+
+typedef struct _TrashPageTrashView TrashPageTrashView;
+typedef struct _TrashPageTrashViewClass TrashPageTrashViewClass;
+
+#define TYPE_MARKER (marker_get_type ())
+#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker))
+#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER))
+#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface))
+
+typedef struct _Marker Marker;
+typedef struct _MarkerIface MarkerIface;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
+#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
+#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
+#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
+#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+
+typedef struct _PhotoSource PhotoSource;
+typedef struct _PhotoSourceClass PhotoSourceClass;
+
+#define TYPE_PHOTO (photo_get_type ())
+#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
+#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
+#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
+#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
+#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))
+
+typedef struct _Photo Photo;
+typedef struct _PhotoClass PhotoClass;
+
+#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
+#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
+#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
+#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
+#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+
+typedef struct _LibraryPhoto LibraryPhoto;
+typedef struct _LibraryPhotoClass LibraryPhotoClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ())
+#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand))
+#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))
+#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
+#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
+#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))
+
+typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand;
+typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+typedef struct _DataObjectPrivate DataObjectPrivate;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+typedef struct _DataViewPrivate DataViewPrivate;
+typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate;
+typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate;
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate;
+typedef struct _ThumbnailPrivate ThumbnailPrivate;
+typedef struct _TrashPageTrashViewPrivate TrashPageTrashViewPrivate;
+typedef struct _ViewFilterPrivate ViewFilterPrivate;
+typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;
+typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate;
+typedef struct _TrashPageTrashSearchViewFilterPrivate TrashPageTrashSearchViewFilterPrivate;
+
+#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+struct _TrashPage {
+ CheckerboardPage parent_instance;
+ TrashPagePrivate * priv;
+};
+
+struct _TrashPageClass {
+ CheckerboardPageClass parent_class;
+};
+
+struct _TrashPagePrivate {
+ TrashPageTrashSearchViewFilter* search_filter;
+ MediaViewTracker* tracker;
+};
+
+struct _MarkerIface {
+ GTypeInterface parent_iface;
+ void (*mark) (Marker* self, DataObject* object);
+ void (*unmark) (Marker* self, DataObject* object);
+ gboolean (*toggle) (Marker* self, DataObject* object);
+ void (*mark_many) (Marker* self, GeeCollection* list);
+ void (*unmark_many) (Marker* self, GeeCollection* list);
+ void (*mark_all) (Marker* self);
+ gint (*get_count) (Marker* self);
+ GeeCollection* (*get_all) (Marker* self);
+};
+
+struct _DataObject {
+ GObject parent_instance;
+ DataObjectPrivate * priv;
+};
+
+struct _DataObjectClass {
+ GObjectClass parent_class;
+ void (*notify_altered) (DataObject* self, Alteration* alteration);
+ void (*notify_membership_changed) (DataObject* self, DataCollection* collection);
+ void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val);
+ void (*notify_collection_property_cleared) (DataObject* self, const gchar* name);
+ gchar* (*get_name) (DataObject* self);
+ gchar* (*to_string) (DataObject* self);
+};
+
+struct _DataView {
+ DataObject parent_instance;
+ DataViewPrivate * priv;
+};
+
+struct _DataViewClass {
+ DataObjectClass parent_class;
+ void (*notify_view_altered) (DataView* self);
+ void (*notify_geometry_altered) (DataView* self);
+ void (*notify_unsubscribed) (DataView* self, DataSource* source);
+ void (*state_changed) (DataView* self, gboolean selected);
+ void (*visibility_changed) (DataView* self, gboolean visible);
+ void (*view_altered) (DataView* self);
+ void (*geometry_altered) (DataView* self);
+ void (*unsubscribed) (DataView* self, DataSource* source);
+};
+
+struct _ThumbnailView {
+ DataView parent_instance;
+ ThumbnailViewPrivate * priv;
+};
+
+struct _ThumbnailViewClass {
+ DataViewClass parent_class;
+ void (*notify_thumbnail_altered) (ThumbnailView* self);
+ void (*thumbnail_altered) (ThumbnailView* self);
+};
+
+struct _Dimensions {
+ gint width;
+ gint height;
+};
+
+struct _CheckerboardItem {
+ ThumbnailView parent_instance;
+ CheckerboardItemPrivate * priv;
+ Dimensions requisition;
+ GdkRectangle allocation;
+};
+
+struct _CheckerboardItemClass {
+ ThumbnailViewClass parent_class;
+ void (*exposed) (CheckerboardItem* self);
+ void (*unexposed) (CheckerboardItem* self);
+ gboolean (*is_exposed) (CheckerboardItem* self);
+ void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha);
+ void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width);
+ void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin);
+ GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale);
+ GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale);
+ GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale);
+ GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale);
+};
+
+struct _MediaSourceItem {
+ CheckerboardItem parent_instance;
+ MediaSourceItemPrivate * priv;
+};
+
+struct _MediaSourceItemClass {
+ CheckerboardItemClass parent_class;
+};
+
+struct _Thumbnail {
+ MediaSourceItem parent_instance;
+ ThumbnailPrivate * priv;
+};
+
+struct _ThumbnailClass {
+ MediaSourceItemClass parent_class;
+};
+
+struct _TrashPageTrashView {
+ Thumbnail parent_instance;
+ TrashPageTrashViewPrivate * priv;
+};
+
+struct _TrashPageTrashViewClass {
+ ThumbnailClass parent_class;
+};
+
+struct _ViewFilter {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewFilterPrivate * priv;
+};
+
+struct _ViewFilterClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewFilter *self);
+ gboolean (*predicate) (ViewFilter* self, DataView* view);
+ void (*refresh) (ViewFilter* self);
+};
+
+struct _SearchViewFilter {
+ ViewFilter parent_instance;
+ SearchViewFilterPrivate * priv;
+};
+
+struct _SearchViewFilterClass {
+ ViewFilterClass parent_class;
+ guint (*get_criteria) (SearchViewFilter* self);
+};
+
+struct _DefaultSearchViewFilter {
+ SearchViewFilter parent_instance;
+ DefaultSearchViewFilterPrivate * priv;
+};
+
+struct _DefaultSearchViewFilterClass {
+ SearchViewFilterClass parent_class;
+};
+
+struct _TrashPageTrashSearchViewFilter {
+ DefaultSearchViewFilter parent_instance;
+ TrashPageTrashSearchViewFilterPrivate * priv;
+};
+
+struct _TrashPageTrashSearchViewFilterClass {
+ DefaultSearchViewFilterClass parent_class;
+};
+
+typedef enum {
+ SEARCH_FILTER_CRITERIA_NONE = 0,
+ SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0,
+ SEARCH_FILTER_CRITERIA_TEXT = 1 << 1,
+ SEARCH_FILTER_CRITERIA_FLAG = 1 << 2,
+ SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3,
+ SEARCH_FILTER_CRITERIA_RATING = 1 << 4,
+ SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5,
+ SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL
+} SearchFilterCriteria;
+
+
+static gpointer trash_page_parent_class = NULL;
+extern LibraryPhotoSourceCollection* library_photo_global;
+extern VideoSourceCollection* video_global;
+static gpointer trash_page_trash_view_parent_class = NULL;
+static gpointer trash_page_trash_search_view_filter_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType trash_page_get_type (void) G_GNUC_CONST;
+GType default_search_view_filter_get_type (void) G_GNUC_CONST;
+static GType trash_page_trash_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType media_view_tracker_get_type (void) G_GNUC_CONST;
+#define TRASH_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRASH_PAGE, TrashPagePrivate))
+enum {
+ TRASH_PAGE_DUMMY_PROPERTY
+};
+static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_new (void);
+static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_construct (GType object_type);
+#define TRASH_PAGE_NAME _ ("Trash")
+TrashPage* trash_page_new (void);
+TrashPage* trash_page_construct (GType object_type);
+CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name);
+void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path);
+void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path);
+void page_init_toolbar (Page* self, const gchar* path);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+MediaViewTracker* media_view_tracker_new (ViewCollection* collection);
+MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection);
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+static void trash_page_on_trashcan_contents_altered (TrashPage* self, GeeCollection* added, GeeCollection* removed);
+static void _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self);
+GType video_source_collection_get_type (void) G_GNUC_CONST;
+GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self);
+static void trash_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
+static GtkActionEntry* trash_page_real_init_collect_action_entries (Page* base, int* result_length1);
+GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
+#define RESOURCES_DELETE_LABEL _ ("_Delete")
+#define TRANSLATABLE "translatable"
+static void trash_page_on_delete (TrashPage* self);
+static void _trash_page_on_delete_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_DELETE_PHOTOS_MENU _ ("_Delete")
+#define RESOURCES_DELETE_FROM_TRASH_TOOLTIP _ ("Remove the selected photos from the trash")
+static void _vala_array_add89 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+#define RESOURCES_UNDELETE_LABEL _ ("_Undelete")
+static void trash_page_on_restore (TrashPage* self);
+static void _trash_page_on_restore_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_RESTORE_PHOTOS_MENU _ ("_Restore")
+#define RESOURCES_RESTORE_PHOTOS_TOOLTIP _ ("Move the selected photos back into the library")
+static void _vala_array_add90 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static CoreViewTracker* trash_page_real_get_view_tracker (CheckerboardPage* base);
+static void trash_page_real_update_actions (Page* base, gint selected_count, gint count);
+void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive);
+void page_set_action_important (Page* self, const gchar* name, gboolean important);
+void page_set_common_action_important (Page* self, const gchar* name, gboolean important);
+void page_update_actions (Page* self, gint selected_count, gint count);
+gboolean data_collection_add (DataCollection* self, DataObject* object);
+static TrashPageTrashView* trash_page_trash_view_new (MediaSource* source);
+static TrashPageTrashView* trash_page_trash_view_construct (GType object_type, MediaSource* source);
+GType media_source_item_get_type (void) G_GNUC_CONST;
+GType thumbnail_get_type (void) G_GNUC_CONST;
+static GType trash_page_trash_view_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType marker_get_type (void) G_GNUC_CONST;
+Marker* data_collection_start_marking (DataCollection* self);
+void marker_mark (Marker* self, DataObject* object);
+DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source);
+void data_collection_remove_marked (DataCollection* self, Marker* m);
+gint view_collection_get_selected_count (ViewCollection* self);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* page_get_command_manager (Page* self);
+GType command_get_type (void) G_GNUC_CONST;
+void command_manager_execute (CommandManager* self, Command* command);
+GeeList* view_collection_get_selected_sources (ViewCollection* self);
+GType photo_source_get_type (void) G_GNUC_CONST;
+GType photo_get_type (void) G_GNUC_CONST;
+GType library_photo_get_type (void) G_GNUC_CONST;
+TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash);
+TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash);
+GType page_command_get_type (void) G_GNUC_CONST;
+GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST;
+static gchar* trash_page_real_get_view_empty_message (CheckerboardPage* base);
+void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text);
+static SearchViewFilter* trash_page_real_get_search_view_filter (CheckerboardPage* base);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+GType dimensions_get_type (void) G_GNUC_CONST;
+Dimensions* dimensions_dup (const Dimensions* self);
+void dimensions_free (Dimensions* self);
+enum {
+ TRASH_PAGE_TRASH_VIEW_DUMMY_PROPERTY
+};
+gint thumbnail_get_DEFAULT_SCALE (void);
+Thumbnail* thumbnail_new (MediaSource* media, gint scale);
+Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale);
+gboolean media_source_is_trashed (MediaSource* self);
+enum {
+ TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER_DUMMY_PROPERTY
+};
+static guint trash_page_trash_search_view_filter_real_get_criteria (SearchViewFilter* base);
+GType search_filter_criteria_get_type (void) G_GNUC_CONST;
+DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type);
+static void trash_page_finalize (GObject* obj);
+
+
+static void _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) {
+#line 38 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_on_trashcan_contents_altered ((TrashPage*) self, added, removed);
+#line 883 "TrashPage.c"
+}
+
+
+TrashPage* trash_page_construct (GType object_type) {
+ TrashPage * self = NULL;
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ MediaViewTracker* _tmp2_ = NULL;
+ LibraryPhotoSourceCollection* _tmp3_ = NULL;
+ VideoSourceCollection* _tmp4_ = NULL;
+ LibraryPhotoSourceCollection* _tmp5_ = NULL;
+ GeeCollection* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+ VideoSourceCollection* _tmp8_ = NULL;
+ GeeCollection* _tmp9_ = NULL;
+ GeeCollection* _tmp10_ = NULL;
+#line 29 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = (TrashPage*) checkerboard_page_construct (object_type, TRASH_PAGE_NAME);
+#line 31 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/TrashContextMenu");
+#line 32 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/TrashPageMenu");
+#line 33 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ page_init_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "/TrashToolbar");
+#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = _tmp0_;
+#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_ = media_view_tracker_new (_tmp1_);
+#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _core_tracker_unref0 (self->priv->tracker);
+#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self->priv->tracker = _tmp2_;
+#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 38 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3_ = library_photo_global;
+#line 38 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", (GCallback) _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0);
+#line 39 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp4_ = video_global;
+#line 39 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", (GCallback) _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0);
+#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_ = library_photo_global;
+#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp6_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp7_ = _tmp6_;
+#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_on_trashcan_contents_altered (self, _tmp7_, NULL);
+#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp7_);
+#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp8_ = video_global;
+#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp9_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
+#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp10_ = _tmp9_;
+#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_on_trashcan_contents_altered (self, _tmp10_, NULL);
+#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp10_);
+#line 28 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return self;
+#line 950 "TrashPage.c"
+}
+
+
+TrashPage* trash_page_new (void) {
+#line 28 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return trash_page_construct (TYPE_TRASH_PAGE);
+#line 957 "TrashPage.c"
+}
+
+
+static void trash_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ TrashPage * self;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+#line 44 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage);
+#line 44 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 45 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = ui_filenames;
+#line 45 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ PAGE_CLASS (trash_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_);
+#line 47 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = ui_filenames;
+#line 47 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "trash.ui");
+#line 977 "TrashPage.c"
+}
+
+
+static void _trash_page_on_delete_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_on_delete ((TrashPage*) self);
+#line 984 "TrashPage.c"
+}
+
+
+static void _vala_array_add89 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if ((*length) == (*size)) {
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 995 "TrashPage.c"
+ }
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ (*array)[(*length)++] = *value;
+#line 999 "TrashPage.c"
+}
+
+
+static void _trash_page_on_restore_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_on_restore ((TrashPage*) self);
+#line 1006 "TrashPage.c"
+}
+
+
+static void _vala_array_add90 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if ((*length) == (*size)) {
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1017 "TrashPage.c"
+ }
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1021 "TrashPage.c"
+}
+
+
+static GtkActionEntry* trash_page_real_init_collect_action_entries (Page* base, int* result_length1) {
+ TrashPage * self;
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* actions = NULL;
+ gint _tmp0_ = 0;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry delete_action = {0};
+ GtkActionEntry _tmp2_ = {0};
+ GtkActionEntry* _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ GtkActionEntry _tmp4_ = {0};
+ GtkActionEntry restore = {0};
+ GtkActionEntry _tmp5_ = {0};
+ GtkActionEntry* _tmp6_ = NULL;
+ gint _tmp6__length1 = 0;
+ GtkActionEntry _tmp7_ = {0};
+ GtkActionEntry* _tmp8_ = NULL;
+ gint _tmp8__length1 = 0;
+#line 50 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage);
+#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = PAGE_CLASS (trash_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_);
+#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ actions = _tmp1_;
+#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ actions_length1 = _tmp0_;
+#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _actions_size_ = actions_length1;
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_.name = "Delete";
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_.stock_id = RESOURCES_DELETE_LABEL;
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_.accelerator = "Delete";
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_.tooltip = TRANSLATABLE;
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_.callback = (GCallback) _trash_page_on_delete_gtk_action_callback;
+#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ delete_action = _tmp2_;
+#line 55 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ delete_action.label = RESOURCES_DELETE_PHOTOS_MENU;
+#line 56 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ delete_action.tooltip = RESOURCES_DELETE_FROM_TRASH_TOOLTIP;
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3_ = actions;
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3__length1 = actions_length1;
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp4_ = delete_action;
+#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _vala_array_add89 (&actions, &actions_length1, &_actions_size_, &_tmp4_);
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_.name = "Restore";
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_.stock_id = RESOURCES_UNDELETE_LABEL;
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_.label = TRANSLATABLE;
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_.accelerator = NULL;
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_.tooltip = TRANSLATABLE;
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_.callback = (GCallback) _trash_page_on_restore_gtk_action_callback;
+#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ restore = _tmp5_;
+#line 61 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ restore.label = RESOURCES_RESTORE_PHOTOS_MENU;
+#line 62 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ restore.tooltip = RESOURCES_RESTORE_PHOTOS_TOOLTIP;
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp6_ = actions;
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp6__length1 = actions_length1;
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp7_ = restore;
+#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _vala_array_add90 (&actions, &actions_length1, &_actions_size_, &_tmp7_);
+#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp8_ = actions;
+#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp8__length1 = actions_length1;
+#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (result_length1) {
+#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ *result_length1 = _tmp8__length1;
+#line 1115 "TrashPage.c"
+ }
+#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ result = _tmp8_;
+#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return result;
+#line 1121 "TrashPage.c"
+}
+
+
+static gpointer _core_tracker_ref0 (gpointer self) {
+#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return self ? core_tracker_ref (self) : NULL;
+#line 1128 "TrashPage.c"
+}
+
+
+static CoreViewTracker* trash_page_real_get_view_tracker (CheckerboardPage* base) {
+ TrashPage * self;
+ CoreViewTracker* result = NULL;
+ MediaViewTracker* _tmp0_ = NULL;
+ CoreViewTracker* _tmp1_ = NULL;
+#line 68 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage);
+#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = self->priv->tracker;
+#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, CORE_TYPE_VIEW_TRACKER, CoreViewTracker));
+#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ result = _tmp1_;
+#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return result;
+#line 1147 "TrashPage.c"
+}
+
+
+static void trash_page_real_update_actions (Page* base, gint selected_count, gint count) {
+ TrashPage * self;
+ gboolean has_selected = FALSE;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 72 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage);
+#line 73 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = selected_count;
+#line 73 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ has_selected = _tmp0_ > 0;
+#line 75 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Delete", has_selected);
+#line 76 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Delete", TRUE);
+#line 77 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Restore", has_selected);
+#line 78 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Restore", TRUE);
+#line 79 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ page_set_common_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonEmptyTrash", TRUE);
+#line 81 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = selected_count;
+#line 81 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_ = count;
+#line 81 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ PAGE_CLASS (trash_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp1_, _tmp2_);
+#line 1179 "TrashPage.c"
+}
+
+
+static void trash_page_on_trashcan_contents_altered (TrashPage* self, GeeCollection* added, GeeCollection* removed) {
+ GeeCollection* _tmp0_ = NULL;
+ GeeCollection* _tmp12_ = NULL;
+#line 84 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_if_fail (IS_TRASH_PAGE (self));
+#line 84 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added));
+#line 84 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed));
+#line 86 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = added;
+#line 86 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (_tmp0_ != NULL) {
+#line 1196 "TrashPage.c"
+ {
+ GeeIterator* _source_it = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeIterator* _tmp2_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = added;
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _source_it = _tmp2_;
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ while (TRUE) {
+#line 1209 "TrashPage.c"
+ GeeIterator* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ MediaSource* source = NULL;
+ GeeIterator* _tmp5_ = NULL;
+ gpointer _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ ViewCollection* _tmp8_ = NULL;
+ MediaSource* _tmp9_ = NULL;
+ TrashPageTrashView* _tmp10_ = NULL;
+ TrashPageTrashView* _tmp11_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3_ = _source_it;
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp4_ = gee_iterator_next (_tmp3_);
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (!_tmp4_) {
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ break;
+#line 1228 "TrashPage.c"
+ }
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_ = _source_it;
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp6_ = gee_iterator_get (_tmp5_);
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ source = (MediaSource*) _tmp6_;
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp8_ = _tmp7_;
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp9_ = source;
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp10_ = trash_page_trash_view_new (_tmp9_);
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp11_ = _tmp10_;
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject));
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp11_);
+#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp8_);
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (source);
+#line 1254 "TrashPage.c"
+ }
+#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_source_it);
+#line 1258 "TrashPage.c"
+ }
+ }
+#line 91 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp12_ = removed;
+#line 91 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (_tmp12_ != NULL) {
+#line 1265 "TrashPage.c"
+ Marker* marker = NULL;
+ ViewCollection* _tmp13_ = NULL;
+ ViewCollection* _tmp14_ = NULL;
+ Marker* _tmp15_ = NULL;
+ Marker* _tmp16_ = NULL;
+ ViewCollection* _tmp29_ = NULL;
+ ViewCollection* _tmp30_ = NULL;
+ Marker* _tmp31_ = NULL;
+#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp14_ = _tmp13_;
+#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp15_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection));
+#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp16_ = _tmp15_;
+#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp14_);
+#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ marker = _tmp16_;
+#line 1286 "TrashPage.c"
+ {
+ GeeIterator* _source_it = NULL;
+ GeeCollection* _tmp17_ = NULL;
+ GeeIterator* _tmp18_ = NULL;
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp17_ = removed;
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _source_it = _tmp18_;
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ while (TRUE) {
+#line 1299 "TrashPage.c"
+ GeeIterator* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+ MediaSource* source = NULL;
+ GeeIterator* _tmp21_ = NULL;
+ gpointer _tmp22_ = NULL;
+ Marker* _tmp23_ = NULL;
+ ViewCollection* _tmp24_ = NULL;
+ ViewCollection* _tmp25_ = NULL;
+ MediaSource* _tmp26_ = NULL;
+ DataView* _tmp27_ = NULL;
+ DataView* _tmp28_ = NULL;
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp19_ = _source_it;
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp20_ = gee_iterator_next (_tmp19_);
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (!_tmp20_) {
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ break;
+#line 1319 "TrashPage.c"
+ }
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp21_ = _source_it;
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp22_ = gee_iterator_get (_tmp21_);
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ source = (MediaSource*) _tmp22_;
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp23_ = marker;
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp24_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp25_ = _tmp24_;
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp26_ = source;
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp27_ = view_collection_get_view_for_source (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_SOURCE, DataSource));
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp28_ = _tmp27_;
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ marker_mark (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_OBJECT, DataObject));
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp28_);
+#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp25_);
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (source);
+#line 1347 "TrashPage.c"
+ }
+#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_source_it);
+#line 1351 "TrashPage.c"
+ }
+#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp29_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp30_ = _tmp29_;
+#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp31_ = marker;
+#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_COLLECTION, DataCollection), _tmp31_);
+#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp30_);
+#line 91 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (marker);
+#line 1365 "TrashPage.c"
+ }
+}
+
+
+static void trash_page_on_restore (TrashPage* self) {
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+ CommandManager* _tmp4_ = NULL;
+ CommandManager* _tmp5_ = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ GeeList* _tmp8_ = NULL;
+ GeeCollection* _tmp9_ = NULL;
+ TrashUntrashPhotosCommand* _tmp10_ = NULL;
+ TrashUntrashPhotosCommand* _tmp11_ = NULL;
+#line 99 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_if_fail (IS_TRASH_PAGE (self));
+#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = _tmp0_;
+#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_ = view_collection_get_selected_count (_tmp1_);
+#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3_ = _tmp2_ == 0;
+#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (_tmp3_) {
+#line 101 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return;
+#line 1399 "TrashPage.c"
+ }
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp4_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_ = _tmp4_;
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp7_ = _tmp6_;
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp8_ = view_collection_get_selected_sources (_tmp7_);
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection);
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp10_ = trash_untrash_photos_command_new (_tmp9_, FALSE);
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp11_ = _tmp10_;
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ command_manager_execute (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command));
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp11_);
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp9_);
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp7_);
+#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _command_manager_unref0 (_tmp5_);
+#line 1427 "TrashPage.c"
+}
+
+
+static gchar* trash_page_real_get_view_empty_message (CheckerboardPage* base) {
+ TrashPage * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 107 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage);
+#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = _ ("Trash is empty");
+#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ result = _tmp1_;
+#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return result;
+#line 1446 "TrashPage.c"
+}
+
+
+static void trash_page_on_delete (TrashPage* self) {
+ const gchar* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gboolean _tmp4_ = FALSE;
+ ViewCollection* _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ GeeList* _tmp8_ = NULL;
+ GeeCollection* _tmp9_ = NULL;
+ const gchar* _tmp10_ = NULL;
+#line 111 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_if_fail (IS_TRASH_PAGE (self));
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_ = _tmp1_;
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3_ = view_collection_get_selected_count (_tmp2_);
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp4_ = _tmp3_ == 1;
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp2_);
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ if (_tmp4_) {
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = "Deleting a Photo";
+#line 1477 "TrashPage.c"
+ } else {
+ const gchar* _tmp5_ = NULL;
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp5_ = _ ("Deleting Photos");
+#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = _tmp5_;
+#line 1484 "TrashPage.c"
+ }
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp7_ = _tmp6_;
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp8_ = view_collection_get_selected_sources (_tmp7_);
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection);
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp10_ = _ ("Delete");
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ remove_from_app (_tmp9_, _tmp10_, _tmp0_);
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _g_object_unref0 (_tmp9_);
+#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _data_collection_unref0 (_tmp7_);
+#line 1502 "TrashPage.c"
+}
+
+
+static gpointer _view_filter_ref0 (gpointer self) {
+#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return self ? view_filter_ref (self) : NULL;
+#line 1509 "TrashPage.c"
+}
+
+
+static SearchViewFilter* trash_page_real_get_search_view_filter (CheckerboardPage* base) {
+ TrashPage * self;
+ SearchViewFilter* result = NULL;
+ TrashPageTrashSearchViewFilter* _tmp0_ = NULL;
+ SearchViewFilter* _tmp1_ = NULL;
+#line 116 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage);
+#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = self->priv->search_filter;
+#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
+#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ result = _tmp1_;
+#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return result;
+#line 1528 "TrashPage.c"
+}
+
+
+static TrashPageTrashView* trash_page_trash_view_construct (GType object_type, MediaSource* source) {
+ TrashPageTrashView * self = NULL;
+ MediaSource* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ MediaSource* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 11 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL);
+#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = source;
+#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp1_ = thumbnail_get_DEFAULT_SCALE ();
+#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp2_ = _tmp1_;
+#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = (TrashPageTrashView*) thumbnail_construct (object_type, _tmp0_, _tmp2_);
+#line 14 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp3_ = source;
+#line 14 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp4_ = media_source_is_trashed (_tmp3_);
+#line 14 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _vala_assert (_tmp4_, "source.is_trashed()");
+#line 11 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return self;
+#line 1557 "TrashPage.c"
+}
+
+
+static TrashPageTrashView* trash_page_trash_view_new (MediaSource* source) {
+#line 11 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return trash_page_trash_view_construct (TRASH_PAGE_TYPE_TRASH_VIEW, source);
+#line 1564 "TrashPage.c"
+}
+
+
+static void trash_page_trash_view_class_init (TrashPageTrashViewClass * klass) {
+#line 10 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_trash_view_parent_class = g_type_class_peek_parent (klass);
+#line 1571 "TrashPage.c"
+}
+
+
+static void trash_page_trash_view_instance_init (TrashPageTrashView * self) {
+}
+
+
+static GType trash_page_trash_view_get_type (void) {
+ static volatile gsize trash_page_trash_view_type_id__volatile = 0;
+ if (g_once_init_enter (&trash_page_trash_view_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (TrashPageTrashViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_page_trash_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashPageTrashView), 0, (GInstanceInitFunc) trash_page_trash_view_instance_init, NULL };
+ GType trash_page_trash_view_type_id;
+ trash_page_trash_view_type_id = g_type_register_static (TYPE_THUMBNAIL, "TrashPageTrashView", &g_define_type_info, 0);
+ g_once_init_leave (&trash_page_trash_view_type_id__volatile, trash_page_trash_view_type_id);
+ }
+ return trash_page_trash_view_type_id__volatile;
+}
+
+
+static guint trash_page_trash_search_view_filter_real_get_criteria (SearchViewFilter* base) {
+ TrashPageTrashSearchViewFilter * self;
+ guint result = 0U;
+#line 19 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilter);
+#line 20 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ result = (guint) ((((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_FLAG) | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH);
+#line 20 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return result;
+#line 1600 "TrashPage.c"
+}
+
+
+static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_construct (GType object_type) {
+ TrashPageTrashSearchViewFilter* self = NULL;
+#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = (TrashPageTrashSearchViewFilter*) default_search_view_filter_construct (object_type);
+#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return self;
+#line 1610 "TrashPage.c"
+}
+
+
+static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_new (void) {
+#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ return trash_page_trash_search_view_filter_construct (TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER);
+#line 1617 "TrashPage.c"
+}
+
+
+static void trash_page_trash_search_view_filter_class_init (TrashPageTrashSearchViewFilterClass * klass) {
+#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_trash_search_view_filter_parent_class = g_type_class_peek_parent (klass);
+#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((SearchViewFilterClass *) klass)->get_criteria = trash_page_trash_search_view_filter_real_get_criteria;
+#line 1626 "TrashPage.c"
+}
+
+
+static void trash_page_trash_search_view_filter_instance_init (TrashPageTrashSearchViewFilter * self) {
+}
+
+
+static GType trash_page_trash_search_view_filter_get_type (void) {
+ static volatile gsize trash_page_trash_search_view_filter_type_id__volatile = 0;
+ if (g_once_init_enter (&trash_page_trash_search_view_filter_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (TrashPageTrashSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_page_trash_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashPageTrashSearchViewFilter), 0, (GInstanceInitFunc) trash_page_trash_search_view_filter_instance_init, NULL };
+ GType trash_page_trash_search_view_filter_type_id;
+ trash_page_trash_search_view_filter_type_id = g_type_register_static (TYPE_DEFAULT_SEARCH_VIEW_FILTER, "TrashPageTrashSearchViewFilter", &g_define_type_info, 0);
+ g_once_init_leave (&trash_page_trash_search_view_filter_type_id__volatile, trash_page_trash_search_view_filter_type_id);
+ }
+ return trash_page_trash_search_view_filter_type_id__volatile;
+}
+
+
+static void trash_page_class_init (TrashPageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ trash_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ g_type_class_add_private (klass, sizeof (TrashPagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = trash_page_real_init_collect_ui_filenames;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((PageClass *) klass)->init_collect_action_entries = trash_page_real_init_collect_action_entries;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((CheckerboardPageClass *) klass)->get_view_tracker = trash_page_real_get_view_tracker;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((PageClass *) klass)->update_actions = trash_page_real_update_actions;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((CheckerboardPageClass *) klass)->get_view_empty_message = trash_page_real_get_view_empty_message;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ ((CheckerboardPageClass *) klass)->get_search_view_filter = trash_page_real_get_search_view_filter;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = trash_page_finalize;
+#line 1665 "TrashPage.c"
+}
+
+
+static void trash_page_instance_init (TrashPage * self) {
+ TrashPageTrashSearchViewFilter* _tmp0_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self->priv = TRASH_PAGE_GET_PRIVATE (self);
+#line 25 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _tmp0_ = trash_page_trash_search_view_filter_new ();
+#line 25 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self->priv->search_filter = _tmp0_;
+#line 1677 "TrashPage.c"
+}
+
+
+static void trash_page_finalize (GObject* obj) {
+ TrashPage * self;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRASH_PAGE, TrashPage);
+#line 25 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _view_filter_unref0 (self->priv->search_filter);
+#line 26 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ _core_tracker_unref0 (self->priv->tracker);
+#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala"
+ G_OBJECT_CLASS (trash_page_parent_class)->finalize (obj);
+#line 1691 "TrashPage.c"
+}
+
+
+GType trash_page_get_type (void) {
+ static volatile gsize trash_page_type_id__volatile = 0;
+ if (g_once_init_enter (&trash_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (TrashPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashPage), 0, (GInstanceInitFunc) trash_page_instance_init, NULL };
+ GType trash_page_type_id;
+ trash_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "TrashPage", &g_define_type_info, 0);
+ g_once_init_leave (&trash_page_type_id__volatile, trash_page_type_id);
+ }
+ return trash_page_type_id__volatile;
+}
+
+
+
diff --git a/src/library/TrashPage.vala b/src/library/TrashPage.vala
index 9bafee5..0a38ac0 100644
--- a/src/library/TrashPage.vala
+++ b/src/library/TrashPage.vala
@@ -18,7 +18,7 @@ public class TrashPage : CheckerboardPage {
private class TrashSearchViewFilter : DefaultSearchViewFilter {
public override uint get_criteria() {
return SearchFilterCriteria.TEXT | SearchFilterCriteria.FLAG |
- SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING;
+ SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH;
}
}
diff --git a/src/library/TrashSidebarEntry.c b/src/library/TrashSidebarEntry.c
new file mode 100644
index 0000000..0346c07
--- /dev/null
+++ b/src/library/TrashSidebarEntry.c
@@ -0,0 +1,816 @@
+/* TrashSidebarEntry.c generated by valac 0.32.1, the Vala compiler
+ * generated from TrashSidebarEntry.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gee.h>
+#include <glib/gi18n-lib.h>
+
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ())
+#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry))
+#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY))
+#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface))
+
+typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry;
+typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY (library_trash_sidebar_entry_get_type ())
+#define LIBRARY_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry))
+#define LIBRARY_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass))
+#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY))
+#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY))
+#define LIBRARY_TRASH_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass))
+
+typedef struct _LibraryTrashSidebarEntry LibraryTrashSidebarEntry;
+typedef struct _LibraryTrashSidebarEntryClass LibraryTrashSidebarEntryClass;
+typedef struct _LibraryTrashSidebarEntryPrivate LibraryTrashSidebarEntryPrivate;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ())
+#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand))
+#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))
+#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
+#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
+#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))
+
+typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand;
+typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_TRASH_PAGE (trash_page_get_type ())
+#define TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_PAGE, TrashPage))
+#define TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_PAGE, TrashPageClass))
+#define IS_TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_PAGE))
+#define IS_TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_PAGE))
+#define TRASH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_PAGE, TrashPageClass))
+
+typedef struct _TrashPage TrashPage;
+typedef struct _TrashPageClass TrashPageClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _SidebarInternalDropTargetEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources);
+ gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data);
+};
+
+struct _LibraryTrashSidebarEntry {
+ SidebarSimplePageEntry parent_instance;
+ LibraryTrashSidebarEntryPrivate * priv;
+};
+
+struct _LibraryTrashSidebarEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+
+static gpointer library_trash_sidebar_entry_parent_class = NULL;
+static SidebarInternalDropTargetEntryIface* library_trash_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = NULL;
+
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+GType sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST;
+GType library_trash_sidebar_entry_get_type (void) G_GNUC_CONST;
+enum {
+ LIBRARY_TRASH_SIDEBAR_ENTRY_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+static void library_trash_sidebar_entry_on_trashcan_contents_altered (LibraryTrashSidebarEntry* self);
+static void _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self);
+LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void);
+LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type);
+SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type);
+void library_trash_sidebar_entry_init (void);
+void library_trash_sidebar_entry_terminate (void);
+static gchar* library_trash_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define TRASH_PAGE_NAME _ ("Trash")
+static gchar* library_trash_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+static gchar* library_trash_sidebar_entry_get_current_icon (void);
+gint media_source_collection_get_trashcan_count (MediaSourceCollection* self);
+#define RESOURCES_ICON_TRASH_FULL "user-trash-full"
+#define RESOURCES_ICON_TRASH_EMPTY "user-trash"
+static gboolean library_trash_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* app_window_get_command_manager (void);
+GType command_get_type (void) G_GNUC_CONST;
+void command_manager_execute (CommandManager* self, Command* command);
+TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash);
+TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash);
+GType page_command_get_type (void) G_GNUC_CONST;
+GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST;
+static gboolean library_trash_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data);
+static Page* library_trash_sidebar_entry_real_create_page (SidebarSimplePageEntry* base);
+TrashPage* trash_page_new (void);
+TrashPage* trash_page_construct (GType object_type);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType trash_page_get_type (void) G_GNUC_CONST;
+static void library_trash_sidebar_entry_finalize (GObject* obj);
+
+
+static void _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) {
+#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ library_trash_sidebar_entry_on_trashcan_contents_altered ((LibraryTrashSidebarEntry*) self);
+#line 392 "TrashSidebarEntry.c"
+}
+
+
+LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type) {
+ LibraryTrashSidebarEntry * self = NULL;
+#line 9 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = (LibraryTrashSidebarEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 400 "TrashSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ while (TRUE) {
+#line 429 "TrashSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ break;
+#line 444 "TrashSidebarEntry.c"
+ }
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 11 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 11 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_signal_connect_object (_tmp10_, "trashcan-contents-altered", (GCallback) _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0);
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 458 "TrashSidebarEntry.c"
+ }
+#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 462 "TrashSidebarEntry.c"
+ }
+#line 9 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return self;
+#line 466 "TrashSidebarEntry.c"
+}
+
+
+LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void) {
+#line 9 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return library_trash_sidebar_entry_construct (LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY);
+#line 473 "TrashSidebarEntry.c"
+}
+
+
+void library_trash_sidebar_entry_init (void) {
+}
+
+
+void library_trash_sidebar_entry_terminate (void) {
+}
+
+
+static gchar* library_trash_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ LibraryTrashSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 25 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry);
+#line 26 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = g_strdup (TRASH_PAGE_NAME);
+#line 26 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = _tmp0_;
+#line 26 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 497 "TrashSidebarEntry.c"
+}
+
+
+static gchar* library_trash_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ LibraryTrashSidebarEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 29 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry);
+#line 30 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = library_trash_sidebar_entry_get_current_icon ();
+#line 30 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = _tmp0_;
+#line 30 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 513 "TrashSidebarEntry.c"
+}
+
+
+static gchar* library_trash_sidebar_entry_get_current_icon (void) {
+ gchar* result = NULL;
+ gchar* _tmp13_ = NULL;
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ while (TRUE) {
+#line 548 "TrashSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ break;
+#line 564 "TrashSidebarEntry.c"
+ }
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 35 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 35 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp11_ = media_source_collection_get_trashcan_count (_tmp10_);
+#line 35 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ if (_tmp11_ > 0) {
+#line 578 "TrashSidebarEntry.c"
+ gchar* _tmp12_ = NULL;
+#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp12_ = g_strdup (RESOURCES_ICON_TRASH_FULL);
+#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = _tmp12_;
+#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 590 "TrashSidebarEntry.c"
+ }
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 594 "TrashSidebarEntry.c"
+ }
+#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 598 "TrashSidebarEntry.c"
+ }
+#line 39 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp13_ = g_strdup (RESOURCES_ICON_TRASH_EMPTY);
+#line 39 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = _tmp13_;
+#line 39 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 606 "TrashSidebarEntry.c"
+}
+
+
+static gboolean library_trash_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) {
+ LibraryTrashSidebarEntry * self;
+ gboolean result = FALSE;
+ CommandManager* _tmp0_ = NULL;
+ CommandManager* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ TrashUntrashPhotosCommand* _tmp3_ = NULL;
+ TrashUntrashPhotosCommand* _tmp4_ = NULL;
+#line 42 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry);
+#line 42 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_return_val_if_fail (GEE_IS_LIST (media), FALSE);
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = app_window_get_command_manager ();
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp2_ = media;
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp3_ = trash_untrash_photos_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), TRUE);
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp4_ = _tmp3_;
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ command_manager_execute (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_COMMAND, Command));
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_tmp4_);
+#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _command_manager_unref0 (_tmp1_);
+#line 45 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = TRUE;
+#line 45 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 642 "TrashSidebarEntry.c"
+}
+
+
+static gboolean library_trash_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) {
+ LibraryTrashSidebarEntry * self;
+ gboolean result = FALSE;
+#line 48 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry);
+#line 48 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_return_val_if_fail (data != NULL, FALSE);
+#line 49 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = FALSE;
+#line 49 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 657 "TrashSidebarEntry.c"
+}
+
+
+static Page* library_trash_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) {
+ LibraryTrashSidebarEntry * self;
+ Page* result = NULL;
+ TrashPage* _tmp0_ = NULL;
+#line 52 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry);
+#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = trash_page_new ();
+#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_object_ref_sink (_tmp0_);
+#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ return result;
+#line 675 "TrashSidebarEntry.c"
+}
+
+
+static void library_trash_sidebar_entry_on_trashcan_contents_altered (LibraryTrashSidebarEntry* self) {
+ gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 56 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_return_if_fail (LIBRARY_IS_TRASH_SIDEBAR_ENTRY (self));
+#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = library_trash_sidebar_entry_get_current_icon ();
+#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-icon-changed", _tmp1_);
+#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_free0 (_tmp1_);
+#line 692 "TrashSidebarEntry.c"
+}
+
+
+static void library_trash_sidebar_entry_class_init (LibraryTrashSidebarEntryClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ library_trash_sidebar_entry_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_trash_sidebar_entry_real_get_sidebar_name;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_trash_sidebar_entry_real_get_sidebar_icon;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = library_trash_sidebar_entry_real_create_page;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_trash_sidebar_entry_finalize;
+#line 707 "TrashSidebarEntry.c"
+}
+
+
+static void library_trash_sidebar_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) {
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ library_trash_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) library_trash_sidebar_entry_real_internal_drop_received;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) library_trash_sidebar_entry_real_internal_drop_received_arbitrary;
+#line 718 "TrashSidebarEntry.c"
+}
+
+
+static void library_trash_sidebar_entry_instance_init (LibraryTrashSidebarEntry * self) {
+}
+
+
+static void library_trash_sidebar_entry_finalize (GObject* obj) {
+ LibraryTrashSidebarEntry * self;
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry);
+#line 730 "TrashSidebarEntry.c"
+ {
+ GeeIterator* _media_sources_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp1_ = _tmp0_;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp3_ = _tmp2_;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp5_ = _tmp4_;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_tmp3_);
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _media_sources_it = _tmp5_;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ while (TRUE) {
+#line 759 "TrashSidebarEntry.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* media_sources = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ MediaSourceCollection* _tmp10_ = NULL;
+ guint _tmp11_ = 0U;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp6_ = _media_sources_it;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ if (!_tmp7_) {
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ break;
+#line 775 "TrashSidebarEntry.c"
+ }
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp8_ = _media_sources_it;
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ media_sources = (MediaSourceCollection*) _tmp9_;
+#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _tmp10_ = media_sources;
+#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE);
+#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self);
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _data_collection_unref0 (media_sources);
+#line 791 "TrashSidebarEntry.c"
+ }
+#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ _g_object_unref0 (_media_sources_it);
+#line 795 "TrashSidebarEntry.c"
+ }
+#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala"
+ G_OBJECT_CLASS (library_trash_sidebar_entry_parent_class)->finalize (obj);
+#line 799 "TrashSidebarEntry.c"
+}
+
+
+GType library_trash_sidebar_entry_get_type (void) {
+ static volatile gsize library_trash_sidebar_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&library_trash_sidebar_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryTrashSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_trash_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryTrashSidebarEntry), 0, (GInstanceInitFunc) library_trash_sidebar_entry_instance_init, NULL };
+ static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) library_trash_sidebar_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ GType library_trash_sidebar_entry_type_id;
+ library_trash_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "LibraryTrashSidebarEntry", &g_define_type_info, 0);
+ g_type_add_interface_static (library_trash_sidebar_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info);
+ g_once_init_leave (&library_trash_sidebar_entry_type_id__volatile, library_trash_sidebar_entry_type_id);
+ }
+ return library_trash_sidebar_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/library/mk/library.mk b/src/library/mk/library.mk
deleted file mode 100644
index dc6201f..0000000
--- a/src/library/mk/library.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-
-# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with
-# a init() and terminate() function declared in the namespace.
-UNIT_NAME := Library
-
-# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all
-# lowercase. The name of this file should be UNIT_DIR.mk.
-UNIT_DIR := library
-
-# All Vala files in the unit should be listed here with no subdirectory prefix.
-#
-# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala.
-UNIT_FILES := \
- LibraryWindow.vala \
- Branch.vala \
- TrashSidebarEntry.vala \
- OfflineSidebarEntry.vala \
- FlaggedSidebarEntry.vala \
- LastImportSidebarEntry.vala \
- ImportQueueSidebarEntry.vala \
- FlaggedPage.vala \
- ImportQueuePage.vala \
- LastImportPage.vala \
- OfflinePage.vala \
- TrashPage.vala
-
-# Any unit this unit relies upon (and should be initialized before it's initialized) should
-# be listed here using its Vala namespace.
-#
-# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here.
-UNIT_USES := \
- Util \
- Threads \
- Db \
- Plugins \
- Slideshow \
- Photos \
- Publishing \
- Core \
- Sidebar \
- Events \
- Tags \
- Camera \
- Searches \
- DataImports \
- Folders
-
-# List any additional files that are used in the build process as a part of this unit that should
-# be packaged in the tarball. File names should be relative to the unit's home directory.
-UNIT_RC :=
-
-# unitize.mk must be called at the end of each UNIT_DIR.mk file.
-include unitize.mk
-