summaryrefslogtreecommitdiff
path: root/src/library/OfflinePage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/OfflinePage.c')
-rw-r--r--src/library/OfflinePage.c1741
1 files changed, 1741 insertions, 0 deletions
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;
+}
+
+
+