summaryrefslogtreecommitdiff
path: root/src/events/EventsDirectoryPage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/EventsDirectoryPage.c')
-rw-r--r--src/events/EventsDirectoryPage.c3248
1 files changed, 3248 insertions, 0 deletions
diff --git a/src/events/EventsDirectoryPage.c b/src/events/EventsDirectoryPage.c
new file mode 100644
index 0000000..6e24584
--- /dev/null
+++ b/src/events/EventsDirectoryPage.c
@@ -0,0 +1,3248 @@
+/* EventsDirectoryPage.c generated by valac 0.32.1, the Vala compiler
+ * generated from EventsDirectoryPage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <time.h>
+#include <cairo.h>
+#include <float.h>
+#include <math.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <glib/gi18n-lib.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+
+#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ())
+#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage))
+#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
+#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE))
+#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE))
+#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
+
+typedef struct _EventsDirectoryPage EventsDirectoryPage;
+typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass;
+typedef struct _EventsDirectoryPagePrivate EventsDirectoryPagePrivate;
+
+#define TYPE_VIEW_MANAGER (view_manager_get_type ())
+#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
+#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
+#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
+#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
+#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))
+
+typedef struct _ViewManager ViewManager;
+typedef struct _ViewManagerClass ViewManagerClass;
+
+#define EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER (events_directory_page_events_directory_search_view_filter_get_type ())
+#define EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilter))
+#define EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilterClass))
+#define EVENTS_DIRECTORY_PAGE_IS_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER))
+#define EVENTS_DIRECTORY_PAGE_IS_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER))
+#define EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilterClass))
+
+typedef struct _EventsDirectoryPageEventsDirectorySearchViewFilter EventsDirectoryPageEventsDirectorySearchViewFilter;
+typedef struct _EventsDirectoryPageEventsDirectorySearchViewFilterClass EventsDirectoryPageEventsDirectorySearchViewFilterClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL)))
+#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))
+
+#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_EVENT_SOURCE (event_source_get_type ())
+#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource))
+#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass))
+#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE))
+#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE))
+#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass))
+
+typedef struct _EventSource EventSource;
+typedef struct _EventSourceClass EventSourceClass;
+
+#define TYPE_EVENT (event_get_type ())
+#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event))
+#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass))
+#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT))
+#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT))
+#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass))
+
+typedef struct _Event Event;
+typedef struct _EventClass EventClass;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ())
+#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor))
+#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+
+typedef struct _ViewCollectionMonitor ViewCollectionMonitor;
+typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass;
+
+#define TYPE_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_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ())
+#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection))
+#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
+#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION))
+#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION))
+#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
+
+typedef struct _ContainerSourceCollection ContainerSourceCollection;
+typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass;
+
+#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ())
+#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection))
+#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass))
+#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION))
+#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION))
+#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass))
+
+typedef struct _EventSourceCollection EventSourceCollection;
+typedef struct _EventSourceCollectionClass EventSourceCollectionClass;
+#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL)))
+
+#define TYPE_EVENT_DIRECTORY_ITEM (event_directory_item_get_type ())
+#define EVENT_DIRECTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem))
+#define EVENT_DIRECTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemClass))
+#define IS_EVENT_DIRECTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_DIRECTORY_ITEM))
+#define IS_EVENT_DIRECTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_DIRECTORY_ITEM))
+#define EVENT_DIRECTORY_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemClass))
+
+typedef struct _EventDirectoryItem EventDirectoryItem;
+typedef struct _EventDirectoryItemClass EventDirectoryItemClass;
+typedef struct _DataObjectPrivate DataObjectPrivate;
+typedef struct _DataViewPrivate DataViewPrivate;
+typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate;
+typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate;
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+typedef struct _EventDirectoryItemPrivate EventDirectoryItemPrivate;
+
+#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_LIBRARY_WINDOW (library_window_get_type ())
+#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
+#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
+#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
+#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+
+typedef struct _LibraryWindow LibraryWindow;
+typedef struct _LibraryWindowClass LibraryWindowClass;
+
+#define TYPE_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ())
+#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator))
+#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass))
+#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR))
+#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR))
+#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass))
+
+typedef struct _TextEntryDialogMediator TextEntryDialogMediator;
+typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass;
+
+#define TYPE_EVENT_RENAME_DIALOG (event_rename_dialog_get_type ())
+#define EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialog))
+#define EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass))
+#define IS_EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_RENAME_DIALOG))
+#define IS_EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_RENAME_DIALOG))
+#define EVENT_RENAME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass))
+
+typedef struct _EventRenameDialog EventRenameDialog;
+typedef struct _EventRenameDialogClass EventRenameDialogClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (text_entry_dialog_mediator_unref (var), NULL)))
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ())
+#define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand))
+#define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass))
+#define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND))
+#define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND))
+#define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass))
+
+typedef struct _SimpleProxyableCommand SimpleProxyableCommand;
+typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass;
+
+#define TYPE_RENAME_EVENT_COMMAND (rename_event_command_get_type ())
+#define RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommand))
+#define RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass))
+#define IS_RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_EVENT_COMMAND))
+#define IS_RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_EVENT_COMMAND))
+#define RENAME_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass))
+
+typedef struct _RenameEventCommand RenameEventCommand;
+typedef struct _RenameEventCommandClass RenameEventCommandClass;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+#define TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ())
+#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator))
+#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass))
+#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR))
+#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR))
+#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass))
+
+typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator;
+typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass;
+
+#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ())
+#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog))
+#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass))
+#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG))
+#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG))
+#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass))
+
+typedef struct _EditCommentDialog EditCommentDialog;
+typedef struct _EditCommentDialogClass EditCommentDialogClass;
+#define _multi_text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (multi_text_entry_dialog_mediator_unref (var), NULL)))
+
+#define TYPE_EDIT_EVENT_COMMENT_COMMAND (edit_event_comment_command_get_type ())
+#define EDIT_EVENT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommand))
+#define EDIT_EVENT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandClass))
+#define IS_EDIT_EVENT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND))
+#define IS_EDIT_EVENT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_EVENT_COMMENT_COMMAND))
+#define EDIT_EVENT_COMMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandClass))
+
+typedef struct _EditEventCommentCommand EditEventCommentCommand;
+typedef struct _EditEventCommentCommandClass EditEventCommentCommandClass;
+
+#define TYPE_MOVE_PHOTOS_COMMAND (move_photos_command_get_type ())
+#define MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand))
+#define MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass))
+#define IS_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOVE_PHOTOS_COMMAND))
+#define IS_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOVE_PHOTOS_COMMAND))
+#define MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass))
+
+typedef struct _MovePhotosCommand MovePhotosCommand;
+typedef struct _MovePhotosCommandClass MovePhotosCommandClass;
+
+#define TYPE_MERGE_EVENTS_COMMAND (merge_events_command_get_type ())
+#define MERGE_EVENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommand))
+#define MERGE_EVENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommandClass))
+#define IS_MERGE_EVENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MERGE_EVENTS_COMMAND))
+#define IS_MERGE_EVENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MERGE_EVENTS_COMMAND))
+#define MERGE_EVENTS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommandClass))
+
+typedef struct _MergeEventsCommand MergeEventsCommand;
+typedef struct _MergeEventsCommandClass MergeEventsCommandClass;
+typedef struct _ViewManagerPrivate ViewManagerPrivate;
+
+#define EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER (events_directory_page_event_directory_manager_get_type ())
+#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager))
+#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManagerClass))
+#define EVENTS_DIRECTORY_PAGE_IS_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER))
+#define EVENTS_DIRECTORY_PAGE_IS_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER))
+#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManagerClass))
+
+typedef struct _EventsDirectoryPageEventDirectoryManager EventsDirectoryPageEventDirectoryManager;
+typedef struct _EventsDirectoryPageEventDirectoryManagerClass EventsDirectoryPageEventDirectoryManagerClass;
+typedef struct _EventsDirectoryPageEventDirectoryManagerPrivate EventsDirectoryPageEventDirectoryManagerPrivate;
+typedef struct _ViewFilterPrivate ViewFilterPrivate;
+typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;
+typedef struct _EventsDirectoryPageEventsDirectorySearchViewFilterPrivate EventsDirectoryPageEventsDirectorySearchViewFilterPrivate;
+
+#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())
+
+#define TYPE_INDEXABLE (indexable_get_type ())
+#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable))
+#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE))
+#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface))
+
+typedef struct _Indexable Indexable;
+typedef struct _IndexableIface IndexableIface;
+
+#define TYPE_MASTER_EVENTS_DIRECTORY_PAGE (master_events_directory_page_get_type ())
+#define MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPage))
+#define MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass))
+#define IS_MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE))
+#define IS_MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE))
+#define MASTER_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass))
+
+typedef struct _MasterEventsDirectoryPage MasterEventsDirectoryPage;
+typedef struct _MasterEventsDirectoryPageClass MasterEventsDirectoryPageClass;
+typedef struct _MasterEventsDirectoryPagePrivate MasterEventsDirectoryPagePrivate;
+
+#define TYPE_SUB_EVENTS_DIRECTORY_PAGE (sub_events_directory_page_get_type ())
+#define SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPage))
+#define SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass))
+#define IS_SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE))
+#define IS_SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE))
+#define SUB_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass))
+
+typedef struct _SubEventsDirectoryPage SubEventsDirectoryPage;
+typedef struct _SubEventsDirectoryPageClass SubEventsDirectoryPageClass;
+typedef struct _SubEventsDirectoryPagePrivate SubEventsDirectoryPagePrivate;
+
+#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_DIRECTORY_TYPE (sub_events_directory_page_directory_type_get_type ())
+
+#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER (sub_events_directory_page_sub_event_directory_manager_get_type ())
+#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager))
+#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManagerClass))
+#define SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER))
+#define SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER))
+#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManagerClass))
+
+typedef struct _SubEventsDirectoryPageSubEventDirectoryManager SubEventsDirectoryPageSubEventDirectoryManager;
+typedef struct _SubEventsDirectoryPageSubEventDirectoryManagerClass SubEventsDirectoryPageSubEventDirectoryManagerClass;
+typedef struct _SubEventsDirectoryPageSubEventDirectoryManagerPrivate SubEventsDirectoryPageSubEventDirectoryManagerPrivate;
+#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 _EventsDirectoryPage {
+ CheckerboardPage parent_instance;
+ EventsDirectoryPagePrivate * priv;
+ ViewManager* view_manager;
+};
+
+struct _EventsDirectoryPageClass {
+ CheckerboardPageClass parent_class;
+};
+
+struct _EventsDirectoryPagePrivate {
+ EventsDirectoryPageEventsDirectorySearchViewFilter* search_filter;
+};
+
+typedef gint64 (*Comparator) (void* a, void* b, void* user_data);
+typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data);
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, 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 _EventDirectoryItem {
+ CheckerboardItem parent_instance;
+ EventDirectoryItemPrivate * priv;
+ Event* event;
+};
+
+struct _EventDirectoryItemClass {
+ CheckerboardItemClass parent_class;
+};
+
+struct _ViewManager {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewManagerPrivate * priv;
+};
+
+struct _ViewManagerClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewManager *self);
+ gboolean (*include_in_view) (ViewManager* self, DataSource* source);
+ DataView* (*create_view) (ViewManager* self, DataSource* source);
+};
+
+struct _EventsDirectoryPageEventDirectoryManager {
+ ViewManager parent_instance;
+ EventsDirectoryPageEventDirectoryManagerPrivate * priv;
+};
+
+struct _EventsDirectoryPageEventDirectoryManagerClass {
+ ViewManagerClass 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 _EventsDirectoryPageEventsDirectorySearchViewFilter {
+ SearchViewFilter parent_instance;
+ EventsDirectoryPageEventsDirectorySearchViewFilterPrivate * priv;
+};
+
+struct _EventsDirectoryPageEventsDirectorySearchViewFilterClass {
+ SearchViewFilterClass 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;
+
+struct _IndexableIface {
+ GTypeInterface parent_iface;
+ const gchar* (*get_indexable_keywords) (Indexable* self);
+};
+
+struct _MasterEventsDirectoryPage {
+ EventsDirectoryPage parent_instance;
+ MasterEventsDirectoryPagePrivate * priv;
+};
+
+struct _MasterEventsDirectoryPageClass {
+ EventsDirectoryPageClass parent_class;
+};
+
+struct _SubEventsDirectoryPage {
+ EventsDirectoryPage parent_instance;
+ SubEventsDirectoryPagePrivate * priv;
+};
+
+struct _SubEventsDirectoryPageClass {
+ EventsDirectoryPageClass parent_class;
+};
+
+typedef enum {
+ SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR,
+ SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH,
+ SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED
+} SubEventsDirectoryPageDirectoryType;
+
+struct _SubEventsDirectoryPageSubEventDirectoryManager {
+ EventsDirectoryPageEventDirectoryManager parent_instance;
+ SubEventsDirectoryPageSubEventDirectoryManagerPrivate * priv;
+};
+
+struct _SubEventsDirectoryPageSubEventDirectoryManagerClass {
+ EventsDirectoryPageEventDirectoryManagerClass parent_class;
+};
+
+struct _SubEventsDirectoryPageSubEventDirectoryManagerPrivate {
+ gint month;
+ gint year;
+ SubEventsDirectoryPageDirectoryType type;
+};
+
+
+static gpointer events_directory_page_parent_class = NULL;
+extern EventSourceCollection* event_global;
+static gpointer events_directory_page_event_directory_manager_parent_class = NULL;
+static gpointer events_directory_page_events_directory_search_view_filter_parent_class = NULL;
+static gpointer master_events_directory_page_parent_class = NULL;
+static gpointer sub_events_directory_page_parent_class = NULL;
+static gpointer sub_events_directory_page_sub_event_directory_manager_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType events_directory_page_get_type (void) G_GNUC_CONST;
+gpointer view_manager_ref (gpointer instance);
+void view_manager_unref (gpointer instance);
+GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_manager (GValue* value, gpointer v_object);
+void value_take_view_manager (GValue* value, gpointer v_object);
+gpointer value_get_view_manager (const GValue* value);
+GType view_manager_get_type (void) G_GNUC_CONST;
+static GType events_directory_page_events_directory_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+#define EVENTS_DIRECTORY_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPagePrivate))
+enum {
+ EVENTS_DIRECTORY_PAGE_DUMMY_PROPERTY
+};
+GtkAction* page_get_action (Page* self, const gchar* name);
+static void events_directory_page_on_sort_changed (EventsDirectoryPage* self, GtkAction* action, GtkAction* c);
+static void _events_directory_page_on_sort_changed_gtk_radio_action_changed (GtkRadioAction* _sender, GtkRadioAction* current, gpointer self);
+static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_new (void);
+static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_construct (GType object_type);
+#define EVENTS_DIRECTORY_PAGE_MIN_PHOTOS_FOR_PROGRESS_WINDOW 50
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType event_source_get_type (void) G_GNUC_CONST;
+GType event_get_type (void) G_GNUC_CONST;
+EventsDirectoryPage* events_directory_page_construct (GType object_type, const gchar* page_name, ViewManager* view_manager, GeeCollection* initial_events);
+CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target);
+static Comparator events_directory_page_get_event_comparator (gboolean ascending, void** result_target, GDestroyNotify* result_target_destroy_notify);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self);
+gboolean events_directory_page_event_comparator_predicate (DataObject* object, Alteration* alteration);
+static gboolean _events_directory_page_event_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self);
+GType source_collection_get_type (void) G_GNUC_CONST;
+gpointer view_collection_monitor_ref (gpointer instance);
+void view_collection_monitor_unref (gpointer instance);
+GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void view_collection_value_set_monitor (GValue* value, gpointer v_object);
+void view_collection_value_take_monitor (GValue* value, gpointer v_object);
+gpointer view_collection_value_get_monitor (const GValue* value);
+GType view_collection_monitor_get_type (void) G_GNUC_CONST;
+ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target);
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType container_source_collection_get_type (void) G_GNUC_CONST;
+GType event_source_collection_get_type (void) G_GNUC_CONST;
+void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target);
+#define EVENT_PROP_SHOW_COMMENTS "show-comments"
+gboolean configuration_facade_get_display_event_comments (ConfigurationFacade* self);
+void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path);
+GtkToolbar* page_get_toolbar (Page* self);
+#define RESOURCES_MERGE "shotwell-merge-events"
+static void events_directory_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
+gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail);
+static gint64 events_directory_page_event_ascending_comparator (void* a, void* b);
+GType event_directory_item_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);
+time_t event_source_get_start_time (EventSource* self);
+static gint64 events_directory_page_event_descending_comparator (void* a, void* b);
+static gint64 _events_directory_page_event_ascending_comparator_comparator (void* a, void* b, gpointer self);
+static gint64 _events_directory_page_event_descending_comparator_comparator (void* a, void* b, gpointer self);
+static GtkActionEntry* events_directory_page_real_init_collect_action_entries (Page* base, int* result_length1);
+GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
+#define TRANSLATABLE "translatable"
+static void events_directory_page_on_rename (EventsDirectoryPage* self);
+static void _events_directory_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_RENAME_EVENT_MENU _ ("Re_name Event...")
+static void _vala_array_add126 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+#define RESOURCES_MERGE_TOOLTIP _ ("Combine events into a single event")
+static void events_directory_page_on_merge (EventsDirectoryPage* self);
+static void _events_directory_page_on_merge_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_MERGE_MENU _ ("_Merge Events")
+static void _vala_array_add127 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+#define RESOURCES_EDIT_COMMENT_MENU _ ("Edit _Comment...")
+void events_directory_page_on_edit_comment (EventsDirectoryPage* self);
+static void _events_directory_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add128 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static GtkToggleActionEntry* events_directory_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1);
+GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1);
+static void events_directory_page_on_display_comments (EventsDirectoryPage* self, GtkAction* action);
+static void _events_directory_page_on_display_comments_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add129 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
+static void events_directory_page_real_init_actions (Page* base, gint selected_count, gint count);
+void page_init_actions (Page* self, gint selected_count, gint count);
+static void events_directory_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);
+static gchar* events_directory_page_real_get_view_empty_message (CheckerboardPage* base);
+static gchar* events_directory_page_real_get_filter_no_match_message (CheckerboardPage* base);
+static void events_directory_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+GType app_window_get_type (void) G_GNUC_CONST;
+GType library_window_get_type (void) G_GNUC_CONST;
+LibraryWindow* library_window_get_app (void);
+void library_window_switch_to_event (LibraryWindow* self, Event* event);
+#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING 0
+gint view_collection_get_selected_count (ViewCollection* self);
+DataView* view_collection_get_selected_at (ViewCollection* self, gint index);
+gpointer text_entry_dialog_mediator_ref (gpointer instance);
+void text_entry_dialog_mediator_unref (gpointer instance);
+GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object);
+void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object);
+gpointer value_get_text_entry_dialog_mediator (const GValue* value);
+GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST;
+GType event_rename_dialog_get_type (void) G_GNUC_CONST;
+gchar* event_get_raw_name (Event* self);
+EventRenameDialog* event_rename_dialog_new (const gchar* event_name);
+EventRenameDialog* event_rename_dialog_construct (GType object_type, const gchar* event_name);
+gchar* event_rename_dialog_execute (EventRenameDialog* self);
+GType command_get_type (void) G_GNUC_CONST;
+GType page_command_get_type (void) G_GNUC_CONST;
+GType simple_proxyable_command_get_type (void) G_GNUC_CONST;
+GType rename_event_command_get_type (void) G_GNUC_CONST;
+RenameEventCommand* rename_event_command_new (Event* event, const gchar* new_name);
+RenameEventCommand* rename_event_command_construct (GType object_type, Event* event, const gchar* new_name);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* page_get_command_manager (Page* self);
+void command_manager_execute (CommandManager* self, Command* command);
+gpointer multi_text_entry_dialog_mediator_ref (gpointer instance);
+void multi_text_entry_dialog_mediator_unref (gpointer instance);
+GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object);
+void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object);
+gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value);
+GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST;
+GType edit_comment_dialog_get_type (void) G_GNUC_CONST;
+gchar* event_source_get_comment (EventSource* self);
+EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event);
+EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event);
+gchar* edit_comment_dialog_execute (EditCommentDialog* self);
+GType edit_event_comment_command_get_type (void) G_GNUC_CONST;
+EditEventCommentCommand* edit_event_comment_command_new (Event* event, const gchar* new_comment);
+EditEventCommentCommand* edit_event_comment_command_construct (GType object_type, Event* event, const gchar* new_comment);
+GType move_photos_command_get_type (void) G_GNUC_CONST;
+GType merge_events_command_get_type (void) G_GNUC_CONST;
+GeeList* view_collection_get_selected (ViewCollection* self);
+MergeEventsCommand* merge_events_command_new (GeeIterable* iter);
+MergeEventsCommand* merge_events_command_construct (GType object_type, GeeIterable* iter);
+void checkerboard_page_set_display_comments (CheckerboardPage* self, gboolean display);
+void configuration_facade_set_display_event_comments (ConfigurationFacade* self, gboolean display);
+static SearchViewFilter* events_directory_page_real_get_search_view_filter (CheckerboardPage* base);
+GType events_directory_page_event_directory_manager_get_type (void) G_GNUC_CONST;
+enum {
+ EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_DUMMY_PROPERTY
+};
+static DataView* events_directory_page_event_directory_manager_real_create_view (ViewManager* base, DataSource* source);
+EventDirectoryItem* event_directory_item_new (Event* event);
+EventDirectoryItem* event_directory_item_construct (GType object_type, Event* event);
+EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_new (void);
+EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_construct (GType object_type);
+ViewManager* view_manager_construct (GType object_type);
+enum {
+ EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_DUMMY_PROPERTY
+};
+static guint events_directory_page_events_directory_search_view_filter_real_get_criteria (SearchViewFilter* base);
+GType search_filter_criteria_get_type (void) G_GNUC_CONST;
+static gboolean events_directory_page_events_directory_search_view_filter_real_predicate (ViewFilter* base, DataView* view);
+DataSource* data_view_get_source (DataView* self);
+gboolean is_string_empty (const gchar* s);
+const gchar* search_view_filter_get_search_filter (SearchViewFilter* self);
+GType indexable_get_type (void) G_GNUC_CONST;
+const gchar* indexable_get_indexable_keywords (Indexable* self);
+gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self, int* result_length1);
+SearchViewFilter* search_view_filter_construct (GType object_type);
+static void events_directory_page_finalize (GObject* obj);
+GType master_events_directory_page_get_type (void) G_GNUC_CONST;
+enum {
+ MASTER_EVENTS_DIRECTORY_PAGE_DUMMY_PROPERTY
+};
+#define MASTER_EVENTS_DIRECTORY_PAGE_NAME _ ("All Events")
+MasterEventsDirectoryPage* master_events_directory_page_new (void);
+MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type);
+GeeCollection* data_collection_get_all (DataCollection* self);
+GType sub_events_directory_page_get_type (void) G_GNUC_CONST;
+enum {
+ SUB_EVENTS_DIRECTORY_PAGE_DUMMY_PROPERTY
+};
+GType sub_events_directory_page_directory_type_get_type (void) G_GNUC_CONST;
+#define SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME _ ("Undated")
+#define SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT _ ("%Y")
+#define SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT _ ("%B")
+SubEventsDirectoryPage* sub_events_directory_page_new (SubEventsDirectoryPageDirectoryType type, struct tm* time);
+SubEventsDirectoryPage* sub_events_directory_page_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time);
+static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_new (SubEventsDirectoryPageDirectoryType type, struct tm* time);
+static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time);
+static GType sub_events_directory_page_sub_event_directory_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+gint sub_events_directory_page_get_month (SubEventsDirectoryPage* self);
+static gint sub_events_directory_page_sub_event_directory_manager_get_month (SubEventsDirectoryPageSubEventDirectoryManager* self);
+gint sub_events_directory_page_get_year (SubEventsDirectoryPage* self);
+static gint sub_events_directory_page_sub_event_directory_manager_get_year (SubEventsDirectoryPageSubEventDirectoryManager* self);
+SubEventsDirectoryPageDirectoryType sub_events_directory_page_get_event_directory_type (SubEventsDirectoryPage* self);
+static SubEventsDirectoryPageDirectoryType sub_events_directory_page_sub_event_directory_manager_get_event_directory_type (SubEventsDirectoryPageSubEventDirectoryManager* self);
+#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManagerPrivate))
+enum {
+ SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_DUMMY_PROPERTY
+};
+static gboolean sub_events_directory_page_sub_event_directory_manager_real_include_in_view (ViewManager* base, DataSource* source);
+gboolean view_manager_include_in_view (ViewManager* self, DataSource* source);
+static void sub_events_directory_page_sub_event_directory_manager_finalize (ViewManager* obj);
+
+
+static void _events_directory_page_on_sort_changed_gtk_radio_action_changed (GtkRadioAction* _sender, GtkRadioAction* current, gpointer self) {
+#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_on_sort_changed ((EventsDirectoryPage*) self, _sender, current);
+#line 1141 "EventsDirectoryPage.c"
+}
+
+
+static gboolean _events_directory_page_event_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) {
+ gboolean result;
+ result = events_directory_page_event_comparator_predicate (object, alteration);
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1150 "EventsDirectoryPage.c"
+}
+
+
+static gpointer _view_manager_ref0 (gpointer self) {
+#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self ? view_manager_ref (self) : NULL;
+#line 1157 "EventsDirectoryPage.c"
+}
+
+
+EventsDirectoryPage* events_directory_page_construct (GType object_type, const gchar* page_name, ViewManager* view_manager, GeeCollection* initial_events) {
+ EventsDirectoryPage * self = NULL;
+ const gchar* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ ConfigFacade* _tmp3_ = NULL;
+ ConfigFacade* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+ void* _tmp6_ = NULL;
+ GDestroyNotify _tmp7_ = NULL;
+ Comparator _tmp8_ = NULL;
+ Comparator _tmp9_ = NULL;
+ void* _tmp9__target = NULL;
+ GDestroyNotify _tmp9__target_destroy_notify = NULL;
+ ViewCollection* _tmp10_ = NULL;
+ ViewCollection* _tmp11_ = NULL;
+ EventSourceCollection* _tmp12_ = NULL;
+ ViewManager* _tmp13_ = NULL;
+ GeeCollection* _tmp14_ = NULL;
+ ViewCollectionMonitor* _tmp15_ = NULL;
+ ViewCollectionMonitor* _tmp16_ = NULL;
+ ViewCollection* _tmp17_ = NULL;
+ ViewCollection* _tmp18_ = NULL;
+ ConfigFacade* _tmp19_ = NULL;
+ ConfigFacade* _tmp20_ = NULL;
+ gboolean _tmp21_ = FALSE;
+ GValue _tmp22_ = {0};
+ ViewManager* _tmp23_ = NULL;
+ ViewManager* _tmp24_ = NULL;
+ GtkToolbar* toolbar = NULL;
+ GtkToolbar* _tmp25_ = NULL;
+ GtkToolButton* merge_button = NULL;
+ GtkToolButton* _tmp26_ = NULL;
+ GtkAction* _tmp27_ = NULL;
+ GtkAction* _tmp28_ = NULL;
+#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (page_name != NULL, NULL);
+#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_VIEW_MANAGER (view_manager), NULL);
+#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail ((initial_events == NULL) || GEE_IS_COLLECTION (initial_events), NULL);
+#line 47 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = page_name;
+#line 47 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = (EventsDirectoryPage*) checkerboard_page_construct (object_type, _tmp0_);
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = _tmp1_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = config_facade_get_instance ();
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = _tmp3_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = events_directory_page_get_event_comparator (_tmp5_, &_tmp6_, &_tmp7_);
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = _tmp8_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target = _tmp6_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target_destroy_notify = _tmp7_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), _tmp9_, _tmp6_, _events_directory_page_event_comparator_predicate_comparator_predicate, NULL);
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ (_tmp9__target_destroy_notify == NULL) ? NULL : (_tmp9__target_destroy_notify (_tmp9__target), NULL);
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = NULL;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target = NULL;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target_destroy_notify = NULL;
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp4_);
+#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp2_);
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = _tmp10_;
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp12_ = event_global;
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp13_ = view_manager;
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp14_ = initial_events;
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp15_ = view_collection_monitor_source_collection (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp13_, NULL, _tmp14_, NULL, NULL);
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp16_ = _tmp15_;
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _view_collection_monitor_unref0 (_tmp16_);
+#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp11_);
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp17_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp18_ = _tmp17_;
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp19_ = config_facade_get_instance ();
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp20_ = _tmp19_;
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp21_ = configuration_facade_get_display_event_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_value_init (&_tmp22_, G_TYPE_BOOLEAN);
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_value_set_boolean (&_tmp22_, _tmp21_);
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_COLLECTION, DataCollection), EVENT_PROP_SHOW_COMMENTS, &_tmp22_, NULL, NULL);
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ G_IS_VALUE (&_tmp22_) ? (g_value_unset (&_tmp22_), NULL) : NULL;
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp20_);
+#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp18_);
+#line 57 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/EventsDirectoryContextMenu");
+#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp23_ = view_manager;
+#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp24_ = _view_manager_ref0 (_tmp23_);
+#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _view_manager_unref0 (self->view_manager);
+#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->view_manager = _tmp24_;
+#line 62 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp25_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 62 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ toolbar = _tmp25_;
+#line 65 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp26_ = (GtkToolButton*) gtk_tool_button_new_from_stock (RESOURCES_MERGE);
+#line 65 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_object_ref_sink (_tmp26_);
+#line 65 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ merge_button = _tmp26_;
+#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp27_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Merge");
+#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp28_ = _tmp27_;
+#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (merge_button, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp28_);
+#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp28_);
+#line 68 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (merge_button, gtk_tool_item_get_type (), GtkToolItem), -1);
+#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (merge_button);
+#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (toolbar);
+#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self;
+#line 1314 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ EventsDirectoryPage * self;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+#line 77 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 77 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 78 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = ui_filenames;
+#line 78 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "events_directory.ui");
+#line 80 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = ui_filenames;
+#line 80 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ PAGE_CLASS (events_directory_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), _tmp1_);
+#line 1334 "EventsDirectoryPage.c"
+}
+
+
+gboolean events_directory_page_event_comparator_predicate (DataObject* object, Alteration* alteration) {
+ gboolean result = FALSE;
+ Alteration* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 83 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE);
+#line 83 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_ALTERATION (alteration), FALSE);
+#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = alteration;
+#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "time");
+#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1354 "EventsDirectoryPage.c"
+}
+
+
+static gint64 events_directory_page_event_ascending_comparator (void* a, void* b) {
+ gint64 result = 0LL;
+ time_t start_a = 0;
+ void* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ time_t _tmp2_ = 0;
+ time_t start_b = 0;
+ void* _tmp3_ = NULL;
+ Event* _tmp4_ = NULL;
+ time_t _tmp5_ = 0;
+#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = a;
+#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((EventDirectoryItem*) _tmp0_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)->event;
+#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_EVENT_SOURCE, EventSource));
+#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ start_a = _tmp2_;
+#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = b;
+#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST ((EventDirectoryItem*) _tmp3_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)->event;
+#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_EVENT_SOURCE, EventSource));
+#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ start_b = _tmp5_;
+#line 91 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = (gint64) (start_a - start_b);
+#line 91 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1388 "EventsDirectoryPage.c"
+}
+
+
+static gint64 events_directory_page_event_descending_comparator (void* a, void* b) {
+ gint64 result = 0LL;
+ void* _tmp0_ = NULL;
+ void* _tmp1_ = NULL;
+ gint64 _tmp2_ = 0LL;
+#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = b;
+#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = a;
+#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = events_directory_page_event_ascending_comparator (_tmp0_, _tmp1_);
+#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp2_;
+#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1407 "EventsDirectoryPage.c"
+}
+
+
+static gint64 _events_directory_page_event_ascending_comparator_comparator (void* a, void* b, gpointer self) {
+ gint64 result;
+ result = events_directory_page_event_ascending_comparator (a, b);
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1416 "EventsDirectoryPage.c"
+}
+
+
+static gint64 _events_directory_page_event_descending_comparator_comparator (void* a, void* b, gpointer self) {
+ gint64 result;
+ result = events_directory_page_event_descending_comparator (a, b);
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1425 "EventsDirectoryPage.c"
+}
+
+
+static Comparator events_directory_page_get_event_comparator (gboolean ascending, void** result_target, GDestroyNotify* result_target_destroy_notify) {
+ Comparator result = NULL;
+ gboolean _tmp0_ = FALSE;
+#line 99 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = ascending;
+#line 99 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp0_) {
+#line 1436 "EventsDirectoryPage.c"
+ Comparator _tmp1_ = NULL;
+ void* _tmp1__target = NULL;
+ GDestroyNotify _tmp1__target_destroy_notify = NULL;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _events_directory_page_event_ascending_comparator_comparator;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1__target = NULL;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1__target_destroy_notify = NULL;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *result_target = _tmp1__target;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *result_target_destroy_notify = _tmp1__target_destroy_notify;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1454 "EventsDirectoryPage.c"
+ } else {
+ Comparator _tmp2_ = NULL;
+ void* _tmp2__target = NULL;
+ GDestroyNotify _tmp2__target_destroy_notify = NULL;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = _events_directory_page_event_descending_comparator_comparator;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2__target = NULL;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2__target_destroy_notify = NULL;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *result_target = _tmp2__target;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *result_target_destroy_notify = _tmp2__target_destroy_notify;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp2_;
+#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1473 "EventsDirectoryPage.c"
+ }
+}
+
+
+static void _events_directory_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_on_rename ((EventsDirectoryPage*) self);
+#line 1481 "EventsDirectoryPage.c"
+}
+
+
+static void _vala_array_add126 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if ((*length) == (*size)) {
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1492 "EventsDirectoryPage.c"
+ }
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1496 "EventsDirectoryPage.c"
+}
+
+
+static void _events_directory_page_on_merge_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_on_merge ((EventsDirectoryPage*) self);
+#line 1503 "EventsDirectoryPage.c"
+}
+
+
+static void _vala_array_add127 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if ((*length) == (*size)) {
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1514 "EventsDirectoryPage.c"
+ }
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1518 "EventsDirectoryPage.c"
+}
+
+
+static void _events_directory_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_on_edit_comment ((EventsDirectoryPage*) self);
+#line 1525 "EventsDirectoryPage.c"
+}
+
+
+static void _vala_array_add128 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if ((*length) == (*size)) {
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1536 "EventsDirectoryPage.c"
+ }
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1540 "EventsDirectoryPage.c"
+}
+
+
+static GtkActionEntry* events_directory_page_real_init_collect_action_entries (Page* base, int* result_length1) {
+ EventsDirectoryPage * self;
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* actions = NULL;
+ gint _tmp0_ = 0;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry rename = {0};
+ GtkActionEntry _tmp2_ = {0};
+ GtkActionEntry* _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ GtkActionEntry _tmp4_ = {0};
+ GtkActionEntry merge = {0};
+ GtkActionEntry _tmp5_ = {0};
+ GtkActionEntry* _tmp6_ = NULL;
+ gint _tmp6__length1 = 0;
+ GtkActionEntry _tmp7_ = {0};
+ GtkActionEntry comment = {0};
+ GtkActionEntry _tmp8_ = {0};
+ GtkActionEntry* _tmp9_ = NULL;
+ gint _tmp9__length1 = 0;
+ GtkActionEntry _tmp10_ = {0};
+ GtkActionEntry* _tmp11_ = NULL;
+ gint _tmp11__length1 = 0;
+#line 105 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = PAGE_CLASS (events_directory_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 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ actions = _tmp1_;
+#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ actions_length1 = _tmp0_;
+#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _actions_size_ = actions_length1;
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_.name = "Rename";
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_.stock_id = NULL;
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_.accelerator = "F2";
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_.tooltip = TRANSLATABLE;
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_.callback = (GCallback) _events_directory_page_on_rename_gtk_action_callback;
+#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ rename = _tmp2_;
+#line 109 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ rename.label = RESOURCES_RENAME_EVENT_MENU;
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = actions;
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3__length1 = actions_length1;
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = rename;
+#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_array_add126 (&actions, &actions_length1, &_actions_size_, &_tmp4_);
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.name = "Merge";
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.stock_id = RESOURCES_MERGE;
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.label = TRANSLATABLE;
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.accelerator = NULL;
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.tooltip = RESOURCES_MERGE_TOOLTIP;
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.callback = (GCallback) _events_directory_page_on_merge_gtk_action_callback;
+#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ merge = _tmp5_;
+#line 114 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ merge.label = RESOURCES_MERGE_MENU;
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = actions;
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6__length1 = actions_length1;
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = merge;
+#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_array_add127 (&actions, &actions_length1, &_actions_size_, &_tmp7_);
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_.name = "EditComment";
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_.stock_id = NULL;
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_.label = TRANSLATABLE;
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_.accelerator = NULL;
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_.tooltip = RESOURCES_EDIT_COMMENT_MENU;
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_.callback = (GCallback) _events_directory_page_on_edit_comment_gtk_action_callback;
+#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ comment = _tmp8_;
+#line 119 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ comment.label = RESOURCES_EDIT_COMMENT_MENU;
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = actions;
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__length1 = actions_length1;
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = comment;
+#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_array_add128 (&actions, &actions_length1, &_actions_size_, &_tmp10_);
+#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = actions;
+#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11__length1 = actions_length1;
+#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (result_length1) {
+#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *result_length1 = _tmp11__length1;
+#line 1659 "EventsDirectoryPage.c"
+ }
+#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp11_;
+#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1665 "EventsDirectoryPage.c"
+}
+
+
+static void _events_directory_page_on_display_comments_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_on_display_comments ((EventsDirectoryPage*) self, action);
+#line 1672 "EventsDirectoryPage.c"
+}
+
+
+static void _vala_array_add129 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if ((*length) == (*size)) {
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *array = g_renew (GtkToggleActionEntry, *array, *size);
+#line 1683 "EventsDirectoryPage.c"
+ }
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1687 "EventsDirectoryPage.c"
+}
+
+
+static GtkToggleActionEntry* events_directory_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1) {
+ EventsDirectoryPage * self;
+ GtkToggleActionEntry* result = NULL;
+ GtkToggleActionEntry* toggle_actions = NULL;
+ gint _tmp0_ = 0;
+ GtkToggleActionEntry* _tmp1_ = NULL;
+ gint toggle_actions_length1 = 0;
+ gint _toggle_actions_size_ = 0;
+ GtkToggleActionEntry comments = {0};
+ ConfigFacade* _tmp2_ = NULL;
+ ConfigFacade* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ GtkToggleActionEntry _tmp5_ = {0};
+ GtkToggleActionEntry _tmp6_ = {0};
+ const gchar* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ GtkToggleActionEntry* _tmp9_ = NULL;
+ gint _tmp9__length1 = 0;
+ GtkToggleActionEntry _tmp10_ = {0};
+ GtkToggleActionEntry* _tmp11_ = NULL;
+ gint _tmp11__length1 = 0;
+#line 125 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = PAGE_CLASS (events_directory_page_parent_class)->init_collect_toggle_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_);
+#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ toggle_actions = _tmp1_;
+#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ toggle_actions_length1 = _tmp0_;
+#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _toggle_actions_size_ = toggle_actions_length1;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = config_facade_get_instance ();
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = configuration_facade_get_display_event_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.name = "ViewComment";
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.stock_id = NULL;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.label = TRANSLATABLE;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.accelerator = "<Ctrl><Shift>C";
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.tooltip = TRANSLATABLE;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.callback = (GCallback) _events_directory_page_on_display_comments_gtk_action_callback;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_.is_active = _tmp4_;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = _tmp5_;
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp3_);
+#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ comments = _tmp6_;
+#line 130 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = _ ("_Comments");
+#line 130 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ comments.label = _tmp7_;
+#line 131 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = _ ("Display the comment of each event");
+#line 131 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ comments.tooltip = _tmp8_;
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = toggle_actions;
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__length1 = toggle_actions_length1;
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = comments;
+#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_array_add129 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp10_);
+#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = toggle_actions;
+#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11__length1 = toggle_actions_length1;
+#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (result_length1) {
+#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ *result_length1 = _tmp11__length1;
+#line 1772 "EventsDirectoryPage.c"
+ }
+#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp11_;
+#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1778 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_real_init_actions (Page* base, gint selected_count, gint count) {
+ EventsDirectoryPage * self;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ GtkRadioAction* action = NULL;
+ GtkAction* _tmp2_ = NULL;
+ GtkRadioAction* _tmp3_ = NULL;
+#line 137 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 138 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = selected_count;
+#line 138 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = count;
+#line 138 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ PAGE_CLASS (events_directory_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_, _tmp1_);
+#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonSortEventsAscending");
+#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp2_) : NULL;
+#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp3_ == NULL) {
+#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp2_);
+#line 1805 "EventsDirectoryPage.c"
+ }
+#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ action = _tmp3_;
+#line 141 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_assert (action != NULL, "action != null");
+#line 142 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_signal_connect_object (action, "changed", (GCallback) _events_directory_page_on_sort_changed_gtk_radio_action_changed, self, 0);
+#line 137 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (action);
+#line 1815 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_real_update_actions (Page* base, gint selected_count, gint count) {
+ EventsDirectoryPage * self;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+#line 145 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 146 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = selected_count;
+#line 146 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Merge", _tmp0_ > 1);
+#line 147 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Merge", TRUE);
+#line 148 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = selected_count;
+#line 148 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Rename", _tmp1_ == 1);
+#line 149 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = selected_count;
+#line 149 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditComment", _tmp2_ == 1);
+#line 151 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = selected_count;
+#line 151 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = count;
+#line 151 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ PAGE_CLASS (events_directory_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp3_, _tmp4_);
+#line 1848 "EventsDirectoryPage.c"
+}
+
+
+static gchar* events_directory_page_real_get_view_empty_message (CheckerboardPage* base) {
+ EventsDirectoryPage * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 154 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = _ ("No events");
+#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1867 "EventsDirectoryPage.c"
+}
+
+
+static gchar* events_directory_page_real_get_filter_no_match_message (CheckerboardPage* base) {
+ EventsDirectoryPage * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 158 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = _ ("No events found");
+#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 1886 "EventsDirectoryPage.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1893 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers) {
+ EventsDirectoryPage * self;
+ EventDirectoryItem* event = NULL;
+ CheckerboardItem* _tmp0_ = NULL;
+ EventDirectoryItem* _tmp1_ = NULL;
+ LibraryWindow* _tmp2_ = NULL;
+ LibraryWindow* _tmp3_ = NULL;
+ Event* _tmp4_ = NULL;
+#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (IS_CHECKERBOARD_ITEM (item));
+#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (modifiers != NULL);
+#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = item;
+#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem));
+#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ event = _tmp1_;
+#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = library_window_get_app ();
+#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_;
+#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = event->event;
+#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ library_window_switch_to_event (_tmp3_, _tmp4_);
+#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp3_);
+#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (event);
+#line 1929 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_on_sort_changed (EventsDirectoryPage* self, GtkAction* action, GtkAction* c) {
+ GtkRadioAction* current = NULL;
+ GtkAction* _tmp0_ = NULL;
+ GtkRadioAction* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ ViewCollection* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ void* _tmp6_ = NULL;
+ GDestroyNotify _tmp7_ = NULL;
+ Comparator _tmp8_ = NULL;
+ Comparator _tmp9_ = NULL;
+ void* _tmp9__target = NULL;
+ GDestroyNotify _tmp9__target_destroy_notify = NULL;
+#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self));
+#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (GTK_IS_ACTION (c));
+#line 169 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = c;
+#line 169 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction));
+#line 169 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ current = _tmp1_;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = gtk_radio_action_get_current_value (current);
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = _tmp4_;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = events_directory_page_get_event_comparator (_tmp5_ == LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING, &_tmp6_, &_tmp7_);
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = _tmp8_;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target = _tmp6_;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target_destroy_notify = _tmp7_;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), _tmp9_, _tmp6_, _events_directory_page_event_comparator_predicate_comparator_predicate, NULL);
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ (_tmp9__target_destroy_notify == NULL) ? NULL : (_tmp9__target_destroy_notify (_tmp9__target), NULL);
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = NULL;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target = NULL;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9__target_destroy_notify = NULL;
+#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp3_);
+#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (current);
+#line 1989 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_on_rename (EventsDirectoryPage* self) {
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+ EventDirectoryItem* item = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ DataView* _tmp6_ = NULL;
+ EventDirectoryItem* _tmp7_ = NULL;
+ EventRenameDialog* rename_dialog = NULL;
+ EventDirectoryItem* _tmp8_ = NULL;
+ Event* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ EventRenameDialog* _tmp12_ = NULL;
+ EventRenameDialog* _tmp13_ = NULL;
+ gchar* new_name = NULL;
+ EventRenameDialog* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ RenameEventCommand* command = NULL;
+ EventDirectoryItem* _tmp17_ = NULL;
+ Event* _tmp18_ = NULL;
+ const gchar* _tmp19_ = NULL;
+ RenameEventCommand* _tmp20_ = NULL;
+ CommandManager* _tmp21_ = NULL;
+ CommandManager* _tmp22_ = NULL;
+ RenameEventCommand* _tmp23_ = NULL;
+#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self));
+#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _tmp0_;
+#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = view_collection_get_selected_count (_tmp1_);
+#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_ != 1;
+#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp3_) {
+#line 179 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return;
+#line 2038 "EventsDirectoryPage.c"
+ }
+#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = _tmp4_;
+#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = view_collection_get_selected_at (_tmp5_, 0);
+#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp5_);
+#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ item = _tmp7_;
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = item;
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = _tmp8_->event;
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = event_get_raw_name (_tmp9_);
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = _tmp10_;
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp12_ = event_rename_dialog_new (_tmp11_);
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp13_ = _tmp12_;
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (_tmp11_);
+#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ rename_dialog = _tmp13_;
+#line 184 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp14_ = rename_dialog;
+#line 184 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp15_ = event_rename_dialog_execute (_tmp14_);
+#line 184 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ new_name = _tmp15_;
+#line 185 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp16_ = new_name;
+#line 185 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp16_ == NULL) {
+#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (new_name);
+#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _text_entry_dialog_mediator_unref0 (rename_dialog);
+#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (item);
+#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return;
+#line 2086 "EventsDirectoryPage.c"
+ }
+#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp17_ = item;
+#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp18_ = _tmp17_->event;
+#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp19_ = new_name;
+#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp20_ = rename_event_command_new (_tmp18_, _tmp19_);
+#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ command = _tmp20_;
+#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp21_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp22_ = _tmp21_;
+#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp23_ = command;
+#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ command_manager_execute (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command));
+#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _command_manager_unref0 (_tmp22_);
+#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (command);
+#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (new_name);
+#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _text_entry_dialog_mediator_unref0 (rename_dialog);
+#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (item);
+#line 2116 "EventsDirectoryPage.c"
+}
+
+
+void events_directory_page_on_edit_comment (EventsDirectoryPage* self) {
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+ EventDirectoryItem* item = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ DataView* _tmp6_ = NULL;
+ EventDirectoryItem* _tmp7_ = NULL;
+ EditCommentDialog* edit_comment_dialog = NULL;
+ EventDirectoryItem* _tmp8_ = NULL;
+ Event* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ EditCommentDialog* _tmp12_ = NULL;
+ EditCommentDialog* _tmp13_ = NULL;
+ gchar* new_comment = NULL;
+ EditCommentDialog* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ EditEventCommentCommand* command = NULL;
+ EventDirectoryItem* _tmp17_ = NULL;
+ Event* _tmp18_ = NULL;
+ const gchar* _tmp19_ = NULL;
+ EditEventCommentCommand* _tmp20_ = NULL;
+ CommandManager* _tmp21_ = NULL;
+ CommandManager* _tmp22_ = NULL;
+ EditEventCommentCommand* _tmp23_ = NULL;
+#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self));
+#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _tmp0_;
+#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = view_collection_get_selected_count (_tmp1_);
+#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_ != 1;
+#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp3_) {
+#line 195 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return;
+#line 2165 "EventsDirectoryPage.c"
+ }
+#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = _tmp4_;
+#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = view_collection_get_selected_at (_tmp5_, 0);
+#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp5_);
+#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ item = _tmp7_;
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = item;
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = _tmp8_->event;
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT_SOURCE, EventSource));
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = _tmp10_;
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp12_ = edit_comment_dialog_new (_tmp11_, FALSE);
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp13_ = _tmp12_;
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (_tmp11_);
+#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ edit_comment_dialog = _tmp13_;
+#line 200 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp14_ = edit_comment_dialog;
+#line 200 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp15_ = edit_comment_dialog_execute (_tmp14_);
+#line 200 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ new_comment = _tmp15_;
+#line 201 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp16_ = new_comment;
+#line 201 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp16_ == NULL) {
+#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (new_comment);
+#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog);
+#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (item);
+#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return;
+#line 2213 "EventsDirectoryPage.c"
+ }
+#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp17_ = item;
+#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp18_ = _tmp17_->event;
+#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp19_ = new_comment;
+#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp20_ = edit_event_comment_command_new (_tmp18_, _tmp19_);
+#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ command = _tmp20_;
+#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp21_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp22_ = _tmp21_;
+#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp23_ = command;
+#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ command_manager_execute (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command));
+#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _command_manager_unref0 (_tmp22_);
+#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (command);
+#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (new_comment);
+#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog);
+#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (item);
+#line 2243 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_on_merge (EventsDirectoryPage* self) {
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+ MergeEventsCommand* command = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ GeeList* _tmp6_ = NULL;
+ GeeList* _tmp7_ = NULL;
+ MergeEventsCommand* _tmp8_ = NULL;
+ MergeEventsCommand* _tmp9_ = NULL;
+ CommandManager* _tmp10_ = NULL;
+ CommandManager* _tmp11_ = NULL;
+ MergeEventsCommand* _tmp12_ = NULL;
+#line 208 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self));
+#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _tmp0_;
+#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = view_collection_get_selected_count (_tmp1_);
+#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_ <= 1;
+#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp3_) {
+#line 210 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return;
+#line 2278 "EventsDirectoryPage.c"
+ }
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = _tmp4_;
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = view_collection_get_selected (_tmp5_);
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = _tmp6_;
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = merge_events_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = _tmp8_;
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp7_);
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _data_collection_unref0 (_tmp5_);
+#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ command = _tmp9_;
+#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = _tmp10_;
+#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp12_ = command;
+#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command));
+#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _command_manager_unref0 (_tmp11_);
+#line 208 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (command);
+#line 2310 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_on_display_comments (EventsDirectoryPage* self, GtkAction* action) {
+ gboolean display = FALSE;
+ GtkAction* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ ConfigFacade* _tmp2_ = NULL;
+ ConfigFacade* _tmp3_ = NULL;
+#line 216 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self));
+#line 216 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_if_fail (GTK_IS_ACTION (action));
+#line 217 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = action;
+#line 217 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction));
+#line 217 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ display = _tmp1_;
+#line 219 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ checkerboard_page_set_display_comments (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), display);
+#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = config_facade_get_instance ();
+#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _tmp2_;
+#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ configuration_facade_set_display_event_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display);
+#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp3_);
+#line 2340 "EventsDirectoryPage.c"
+}
+
+
+static gpointer _view_filter_ref0 (gpointer self) {
+#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self ? view_filter_ref (self) : NULL;
+#line 2347 "EventsDirectoryPage.c"
+}
+
+
+static SearchViewFilter* events_directory_page_real_get_search_view_filter (CheckerboardPage* base) {
+ EventsDirectoryPage * self;
+ SearchViewFilter* result = NULL;
+ EventsDirectoryPageEventsDirectorySearchViewFilter* _tmp0_ = NULL;
+ SearchViewFilter* _tmp1_ = NULL;
+#line 224 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = self->priv->search_filter;
+#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
+#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2366 "EventsDirectoryPage.c"
+}
+
+
+static DataView* events_directory_page_event_directory_manager_real_create_view (ViewManager* base, DataSource* source) {
+ EventsDirectoryPageEventDirectoryManager * self;
+ DataView* result = NULL;
+ DataSource* _tmp0_ = NULL;
+ EventDirectoryItem* _tmp1_ = NULL;
+#line 9 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager);
+#line 9 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_DATA_SOURCE (source), NULL);
+#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = source;
+#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = event_directory_item_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event));
+#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView);
+#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2387 "EventsDirectoryPage.c"
+}
+
+
+EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_construct (GType object_type) {
+ EventsDirectoryPageEventDirectoryManager* self = NULL;
+#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = (EventsDirectoryPageEventDirectoryManager*) view_manager_construct (object_type);
+#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self;
+#line 2397 "EventsDirectoryPage.c"
+}
+
+
+EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_new (void) {
+#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return events_directory_page_event_directory_manager_construct (EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER);
+#line 2404 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_event_directory_manager_class_init (EventsDirectoryPageEventDirectoryManagerClass * klass) {
+#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_event_directory_manager_parent_class = g_type_class_peek_parent (klass);
+#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((ViewManagerClass *) klass)->create_view = events_directory_page_event_directory_manager_real_create_view;
+#line 2413 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_event_directory_manager_instance_init (EventsDirectoryPageEventDirectoryManager * self) {
+}
+
+
+GType events_directory_page_event_directory_manager_get_type (void) {
+ static volatile gsize events_directory_page_event_directory_manager_type_id__volatile = 0;
+ if (g_once_init_enter (&events_directory_page_event_directory_manager_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryPageEventDirectoryManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_page_event_directory_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryPageEventDirectoryManager), 0, (GInstanceInitFunc) events_directory_page_event_directory_manager_instance_init, NULL };
+ GType events_directory_page_event_directory_manager_type_id;
+ events_directory_page_event_directory_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "EventsDirectoryPageEventDirectoryManager", &g_define_type_info, 0);
+ g_once_init_leave (&events_directory_page_event_directory_manager_type_id__volatile, events_directory_page_event_directory_manager_type_id);
+ }
+ return events_directory_page_event_directory_manager_type_id__volatile;
+}
+
+
+static guint events_directory_page_events_directory_search_view_filter_real_get_criteria (SearchViewFilter* base) {
+ EventsDirectoryPageEventsDirectorySearchViewFilter * self;
+ guint result = 0U;
+#line 15 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilter);
+#line 16 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = (guint) SEARCH_FILTER_CRITERIA_TEXT;
+#line 16 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2442 "EventsDirectoryPage.c"
+}
+
+
+static gboolean string_contains (const gchar* self, const gchar* needle) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, FALSE);
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp0_ = needle;
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ result = _tmp1_ != NULL;
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return result;
+#line 2462 "EventsDirectoryPage.c"
+}
+
+
+static gboolean events_directory_page_events_directory_search_view_filter_real_predicate (ViewFilter* base, DataView* view) {
+ EventsDirectoryPageEventsDirectorySearchViewFilter * self;
+ gboolean result = FALSE;
+ DataView* _tmp0_ = NULL;
+ DataSource* _tmp1_ = NULL;
+ DataSource* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ Event* source = NULL;
+ DataView* _tmp5_ = NULL;
+ DataSource* _tmp6_ = NULL;
+ const gchar* event_keywords = NULL;
+ Event* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ const gchar* _tmp9_ = NULL;
+ gboolean _tmp10_ = FALSE;
+ gint _tmp11_ = 0;
+ gchar** _tmp12_ = NULL;
+#line 19 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilter);
+#line 19 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_DATA_VIEW (view), FALSE);
+#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = view;
+#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = data_view_get_source (_tmp0_);
+#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = _tmp1_;
+#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_EVENT), "view.get_source() is Event");
+#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp2_);
+#line 21 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = search_view_filter_get_search_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
+#line 21 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = is_string_empty (_tmp3_);
+#line 21 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp4_) {
+#line 22 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = TRUE;
+#line 22 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2508 "EventsDirectoryPage.c"
+ }
+#line 24 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = view;
+#line 24 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = data_view_get_source (_tmp5_);
+#line 24 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ source = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT, Event);
+#line 25 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = source;
+#line 25 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_INDEXABLE, Indexable));
+#line 25 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ event_keywords = _tmp8_;
+#line 26 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = event_keywords;
+#line 26 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = is_string_empty (_tmp9_);
+#line 26 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp10_) {
+#line 27 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = FALSE;
+#line 27 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (source);
+#line 27 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2534 "EventsDirectoryPage.c"
+ }
+#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp12_ = search_view_filter_get_search_filter_words (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter), &_tmp11_);
+#line 2538 "EventsDirectoryPage.c"
+ {
+ gchar** word_collection = NULL;
+ gint word_collection_length1 = 0;
+ gint _word_collection_size_ = 0;
+ gint word_it = 0;
+#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ word_collection = _tmp12_;
+#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ word_collection_length1 = _tmp11_;
+#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ for (word_it = 0; word_it < _tmp11_; word_it = word_it + 1) {
+#line 2550 "EventsDirectoryPage.c"
+ const gchar* word = NULL;
+#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ word = word_collection[word_it];
+#line 2554 "EventsDirectoryPage.c"
+ {
+ const gchar* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp13_ = event_keywords;
+#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp14_ = word;
+#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp15_ = string_contains (_tmp13_, _tmp14_);
+#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (!_tmp15_) {
+#line 32 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = FALSE;
+#line 32 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (source);
+#line 32 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2573 "EventsDirectoryPage.c"
+ }
+ }
+ }
+ }
+#line 35 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = TRUE;
+#line 35 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (source);
+#line 35 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2584 "EventsDirectoryPage.c"
+}
+
+
+static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_construct (GType object_type) {
+ EventsDirectoryPageEventsDirectorySearchViewFilter* self = NULL;
+#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = (EventsDirectoryPageEventsDirectorySearchViewFilter*) search_view_filter_construct (object_type);
+#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self;
+#line 2594 "EventsDirectoryPage.c"
+}
+
+
+static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_new (void) {
+#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return events_directory_page_events_directory_search_view_filter_construct (EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER);
+#line 2601 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_events_directory_search_view_filter_class_init (EventsDirectoryPageEventsDirectorySearchViewFilterClass * klass) {
+#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_events_directory_search_view_filter_parent_class = g_type_class_peek_parent (klass);
+#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((SearchViewFilterClass *) klass)->get_criteria = events_directory_page_events_directory_search_view_filter_real_get_criteria;
+#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((ViewFilterClass *) klass)->predicate = events_directory_page_events_directory_search_view_filter_real_predicate;
+#line 2612 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_events_directory_search_view_filter_instance_init (EventsDirectoryPageEventsDirectorySearchViewFilter * self) {
+}
+
+
+static GType events_directory_page_events_directory_search_view_filter_get_type (void) {
+ static volatile gsize events_directory_page_events_directory_search_view_filter_type_id__volatile = 0;
+ if (g_once_init_enter (&events_directory_page_events_directory_search_view_filter_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryPageEventsDirectorySearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_page_events_directory_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryPageEventsDirectorySearchViewFilter), 0, (GInstanceInitFunc) events_directory_page_events_directory_search_view_filter_instance_init, NULL };
+ GType events_directory_page_events_directory_search_view_filter_type_id;
+ events_directory_page_events_directory_search_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "EventsDirectoryPageEventsDirectorySearchViewFilter", &g_define_type_info, 0);
+ g_once_init_leave (&events_directory_page_events_directory_search_view_filter_type_id__volatile, events_directory_page_events_directory_search_view_filter_type_id);
+ }
+ return events_directory_page_events_directory_search_view_filter_type_id__volatile;
+}
+
+
+static void events_directory_page_class_init (EventsDirectoryPageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ events_directory_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_type_class_add_private (klass, sizeof (EventsDirectoryPagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = events_directory_page_real_init_collect_ui_filenames;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((PageClass *) klass)->init_collect_action_entries = events_directory_page_real_init_collect_action_entries;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((PageClass *) klass)->init_collect_toggle_action_entries = events_directory_page_real_init_collect_toggle_action_entries;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((PageClass *) klass)->init_actions = events_directory_page_real_init_actions;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((PageClass *) klass)->update_actions = events_directory_page_real_update_actions;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((CheckerboardPageClass *) klass)->get_view_empty_message = events_directory_page_real_get_view_empty_message;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((CheckerboardPageClass *) klass)->get_filter_no_match_message = events_directory_page_real_get_filter_no_match_message;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((CheckerboardPageClass *) klass)->on_item_activated = events_directory_page_real_on_item_activated;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((CheckerboardPageClass *) klass)->get_search_view_filter = events_directory_page_real_get_search_view_filter;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = events_directory_page_finalize;
+#line 2657 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_instance_init (EventsDirectoryPage * self) {
+ EventsDirectoryPageEventsDirectorySearchViewFilter* _tmp0_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv = EVENTS_DIRECTORY_PAGE_GET_PRIVATE (self);
+#line 43 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = events_directory_page_events_directory_search_view_filter_new ();
+#line 43 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv->search_filter = _tmp0_;
+#line 2669 "EventsDirectoryPage.c"
+}
+
+
+static void events_directory_page_finalize (GObject* obj) {
+ EventsDirectoryPage * self;
+ GtkRadioAction* action = NULL;
+ GtkAction* _tmp0_ = NULL;
+ GtkRadioAction* _tmp1_ = NULL;
+ GtkRadioAction* _tmp2_ = NULL;
+ GtkRadioAction* _tmp3_ = NULL;
+ guint _tmp4_ = 0U;
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage);
+#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonSortEventsAscending");
+#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp0_) : NULL;
+#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp1_ == NULL) {
+#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp0_);
+#line 2691 "EventsDirectoryPage.c"
+ }
+#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ action = _tmp1_;
+#line 73 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = action;
+#line 73 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _vala_assert (_tmp2_ != NULL, "action != null");
+#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = action;
+#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_signal_parse_name ("changed", gtk_radio_action_get_type (), &_tmp4_, NULL, FALSE);
+#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _events_directory_page_on_sort_changed_gtk_radio_action_changed, self);
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (action);
+#line 41 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _view_manager_unref0 (self->view_manager);
+#line 43 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _view_filter_unref0 (self->priv->search_filter);
+#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ G_OBJECT_CLASS (events_directory_page_parent_class)->finalize (obj);
+#line 2713 "EventsDirectoryPage.c"
+}
+
+
+GType events_directory_page_get_type (void) {
+ static volatile gsize events_directory_page_type_id__volatile = 0;
+ if (g_once_init_enter (&events_directory_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryPage), 0, (GInstanceInitFunc) events_directory_page_instance_init, NULL };
+ GType events_directory_page_type_id;
+ events_directory_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "EventsDirectoryPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&events_directory_page_type_id__volatile, events_directory_page_type_id);
+ }
+ return events_directory_page_type_id__volatile;
+}
+
+
+MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type) {
+ MasterEventsDirectoryPage * self = NULL;
+ EventsDirectoryPageEventDirectoryManager* _tmp0_ = NULL;
+ EventsDirectoryPageEventDirectoryManager* _tmp1_ = NULL;
+ EventSourceCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeCollection* _tmp4_ = NULL;
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = events_directory_page_event_directory_manager_new ();
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = _tmp0_;
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = event_global;
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection));
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection);
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = (MasterEventsDirectoryPage*) events_directory_page_construct (object_type, MASTER_EVENTS_DIRECTORY_PAGE_NAME, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_VIEW_MANAGER, ViewManager), _tmp4_);
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (_tmp4_);
+#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _view_manager_unref0 (_tmp1_);
+#line 232 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self;
+#line 2754 "EventsDirectoryPage.c"
+}
+
+
+MasterEventsDirectoryPage* master_events_directory_page_new (void) {
+#line 232 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return master_events_directory_page_construct (TYPE_MASTER_EVENTS_DIRECTORY_PAGE);
+#line 2761 "EventsDirectoryPage.c"
+}
+
+
+static void master_events_directory_page_class_init (MasterEventsDirectoryPageClass * klass) {
+#line 229 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ master_events_directory_page_parent_class = g_type_class_peek_parent (klass);
+#line 2768 "EventsDirectoryPage.c"
+}
+
+
+static void master_events_directory_page_instance_init (MasterEventsDirectoryPage * self) {
+}
+
+
+GType master_events_directory_page_get_type (void) {
+ static volatile gsize master_events_directory_page_type_id__volatile = 0;
+ if (g_once_init_enter (&master_events_directory_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (MasterEventsDirectoryPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) master_events_directory_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MasterEventsDirectoryPage), 0, (GInstanceInitFunc) master_events_directory_page_instance_init, NULL };
+ GType master_events_directory_page_type_id;
+ master_events_directory_page_type_id = g_type_register_static (TYPE_EVENTS_DIRECTORY_PAGE, "MasterEventsDirectoryPage", &g_define_type_info, 0);
+ g_once_init_leave (&master_events_directory_page_type_id__volatile, master_events_directory_page_type_id);
+ }
+ return master_events_directory_page_type_id__volatile;
+}
+
+
+GType sub_events_directory_page_directory_type_get_type (void) {
+ static volatile gsize sub_events_directory_page_directory_type_type_id__volatile = 0;
+ if (g_once_init_enter (&sub_events_directory_page_directory_type_type_id__volatile)) {
+ static const GEnumValue values[] = {{SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, "SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR", "year"}, {SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, "SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH", "month"}, {SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED, "SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED", "undated"}, {0, NULL, NULL}};
+ GType sub_events_directory_page_directory_type_type_id;
+ sub_events_directory_page_directory_type_type_id = g_enum_register_static ("SubEventsDirectoryPageDirectoryType", values);
+ g_once_init_leave (&sub_events_directory_page_directory_type_type_id__volatile, sub_events_directory_page_directory_type_type_id);
+ }
+ return sub_events_directory_page_directory_type_type_id__volatile;
+}
+
+
+static gchar* g_time_format (struct tm *self, const gchar* format) {
+ gchar* result = NULL;
+ gchar* buffer = NULL;
+ gchar* _tmp0_ = NULL;
+ gint buffer_length1 = 0;
+ gint _buffer_size_ = 0;
+ gchar* _tmp1_ = NULL;
+ gint _tmp1__length1 = 0;
+ const gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ gchar* _tmp4_ = NULL;
+#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (format != NULL, NULL);
+#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp0_ = g_new0 (gchar, 64);
+#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ buffer = _tmp0_;
+#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ buffer_length1 = 64;
+#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _buffer_size_ = buffer_length1;
+#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp1_ = buffer;
+#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp1__length1 = buffer_length1;
+#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp2_ = format;
+#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self));
+#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp3_ = buffer;
+#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp3__length1 = buffer_length1;
+#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp4_ = g_strdup ((const gchar*) _tmp3_);
+#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ buffer = (g_free (buffer), NULL);
+#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return result;
+#line 2842 "EventsDirectoryPage.c"
+}
+
+
+SubEventsDirectoryPage* sub_events_directory_page_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time) {
+ SubEventsDirectoryPage * self = NULL;
+ gchar* page_name = NULL;
+ SubEventsDirectoryPageDirectoryType _tmp0_ = 0;
+ const gchar* _tmp5_ = NULL;
+ SubEventsDirectoryPageDirectoryType _tmp6_ = 0;
+ struct tm _tmp7_ = {0};
+ SubEventsDirectoryPageSubEventDirectoryManager* _tmp8_ = NULL;
+ SubEventsDirectoryPageSubEventDirectoryManager* _tmp9_ = NULL;
+#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (time != NULL, NULL);
+#line 292 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = type;
+#line 292 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp0_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED) {
+#line 2861 "EventsDirectoryPage.c"
+ gchar* _tmp1_ = NULL;
+#line 293 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = g_strdup (SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME);
+#line 293 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (page_name);
+#line 293 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ page_name = _tmp1_;
+#line 2869 "EventsDirectoryPage.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+ SubEventsDirectoryPageDirectoryType _tmp3_ = 0;
+ gchar* _tmp4_ = NULL;
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = type;
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp3_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR) {
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT;
+#line 2880 "EventsDirectoryPage.c"
+ } else {
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT;
+#line 2884 "EventsDirectoryPage.c"
+ }
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = g_time_format (time, _tmp2_);
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (page_name);
+#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ page_name = _tmp4_;
+#line 2892 "EventsDirectoryPage.c"
+ }
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = page_name;
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp6_ = type;
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = *time;
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = sub_events_directory_page_sub_event_directory_manager_new (_tmp6_, &_tmp7_);
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = _tmp8_;
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = (SubEventsDirectoryPage*) events_directory_page_construct (object_type, _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_VIEW_MANAGER, ViewManager), NULL);
+#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _view_manager_unref0 (_tmp9_);
+#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_free0 (page_name);
+#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self;
+#line 2912 "EventsDirectoryPage.c"
+}
+
+
+SubEventsDirectoryPage* sub_events_directory_page_new (SubEventsDirectoryPageDirectoryType type, struct tm* time) {
+#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return sub_events_directory_page_construct (TYPE_SUB_EVENTS_DIRECTORY_PAGE, type, time);
+#line 2919 "EventsDirectoryPage.c"
+}
+
+
+gint sub_events_directory_page_get_month (SubEventsDirectoryPage* self) {
+ gint result = 0;
+ ViewManager* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+#line 301 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_SUB_EVENTS_DIRECTORY_PAGE (self), 0);
+#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)->view_manager;
+#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = sub_events_directory_page_sub_event_directory_manager_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager));
+#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2937 "EventsDirectoryPage.c"
+}
+
+
+gint sub_events_directory_page_get_year (SubEventsDirectoryPage* self) {
+ gint result = 0;
+ ViewManager* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+#line 305 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_SUB_EVENTS_DIRECTORY_PAGE (self), 0);
+#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)->view_manager;
+#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = sub_events_directory_page_sub_event_directory_manager_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager));
+#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2955 "EventsDirectoryPage.c"
+}
+
+
+SubEventsDirectoryPageDirectoryType sub_events_directory_page_get_event_directory_type (SubEventsDirectoryPage* self) {
+ SubEventsDirectoryPageDirectoryType result = 0;
+ ViewManager* _tmp0_ = NULL;
+ SubEventsDirectoryPageDirectoryType _tmp1_ = 0;
+#line 309 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_SUB_EVENTS_DIRECTORY_PAGE (self), 0);
+#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)->view_manager;
+#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = sub_events_directory_page_sub_event_directory_manager_get_event_directory_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager));
+#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp1_;
+#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 2973 "EventsDirectoryPage.c"
+}
+
+
+static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time) {
+ SubEventsDirectoryPageSubEventDirectoryManager* self = NULL;
+ SubEventsDirectoryPageDirectoryType _tmp0_ = 0;
+ SubEventsDirectoryPageDirectoryType _tmp3_ = 0;
+ struct tm _tmp4_ = {0};
+ gint _tmp5_ = 0;
+#line 253 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (time != NULL, NULL);
+#line 254 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = (SubEventsDirectoryPageSubEventDirectoryManager*) events_directory_page_event_directory_manager_construct (object_type);
+#line 256 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = type;
+#line 256 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp0_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH) {
+#line 2991 "EventsDirectoryPage.c"
+ struct tm _tmp1_ = {0};
+ gint _tmp2_ = 0;
+#line 257 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = *time;
+#line 257 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = _tmp1_.tm_mon;
+#line 257 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv->month = _tmp2_;
+#line 3000 "EventsDirectoryPage.c"
+ }
+#line 258 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = type;
+#line 258 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv->type = _tmp3_;
+#line 259 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = *time;
+#line 259 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = _tmp4_.tm_year;
+#line 259 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv->year = _tmp5_;
+#line 253 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return self;
+#line 3014 "EventsDirectoryPage.c"
+}
+
+
+static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_new (SubEventsDirectoryPageDirectoryType type, struct tm* time) {
+#line 253 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return sub_events_directory_page_sub_event_directory_manager_construct (SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, type, time);
+#line 3021 "EventsDirectoryPage.c"
+}
+
+
+static void g_time_local (time_t time, struct tm* result) {
+ struct tm _result_ = {0};
+ struct tm _tmp0_ = {0};
+#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ localtime_r (&time, &_tmp0_);
+#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ *result = _result_;
+#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return;
+#line 3036 "EventsDirectoryPage.c"
+}
+
+
+static gboolean sub_events_directory_page_sub_event_directory_manager_real_include_in_view (ViewManager* base, DataSource* source) {
+ SubEventsDirectoryPageSubEventDirectoryManager * self;
+ gboolean result = FALSE;
+ DataSource* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ EventSource* event = NULL;
+ DataSource* _tmp2_ = NULL;
+ EventSource* _tmp3_ = NULL;
+ struct tm event_time = {0};
+ EventSource* _tmp4_ = NULL;
+ time_t _tmp5_ = 0;
+ struct tm _tmp6_ = {0};
+ struct tm _tmp7_ = {0};
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+#line 262 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager);
+#line 262 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE);
+#line 263 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = source;
+#line 263 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp1_ = VIEW_MANAGER_CLASS (sub_events_directory_page_sub_event_directory_manager_parent_class)->include_in_view (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager), TYPE_VIEW_MANAGER, ViewManager), _tmp0_);
+#line 263 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (!_tmp1_) {
+#line 264 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = FALSE;
+#line 264 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3069 "EventsDirectoryPage.c"
+ }
+#line 266 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp2_ = source;
+#line 266 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EVENT_SOURCE, EventSource));
+#line 266 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ event = _tmp3_;
+#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp4_ = event;
+#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp5_ = event_source_get_start_time (_tmp4_);
+#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_time_local (_tmp5_, &_tmp6_);
+#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ event_time = _tmp6_;
+#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp7_ = event_time;
+#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp8_ = _tmp7_.tm_year;
+#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp9_ = self->priv->year;
+#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp8_ == _tmp9_) {
+#line 3093 "EventsDirectoryPage.c"
+ SubEventsDirectoryPageDirectoryType _tmp10_ = 0;
+#line 269 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp10_ = self->priv->type;
+#line 269 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ if (_tmp10_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH) {
+#line 3099 "EventsDirectoryPage.c"
+ struct tm _tmp11_ = {0};
+ gint _tmp12_ = 0;
+ gint _tmp13_ = 0;
+#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp11_ = event_time;
+#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp12_ = _tmp11_.tm_mon;
+#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp13_ = self->priv->month;
+#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp12_ == _tmp13_;
+#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (event);
+#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3115 "EventsDirectoryPage.c"
+ }
+#line 272 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = TRUE;
+#line 272 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (event);
+#line 272 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3123 "EventsDirectoryPage.c"
+ }
+#line 274 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = FALSE;
+#line 274 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _g_object_unref0 (event);
+#line 274 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3131 "EventsDirectoryPage.c"
+}
+
+
+static gint sub_events_directory_page_sub_event_directory_manager_get_month (SubEventsDirectoryPageSubEventDirectoryManager* self) {
+ gint result = 0;
+ gint _tmp0_ = 0;
+#line 277 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER (self), 0);
+#line 278 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = self->priv->month;
+#line 278 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp0_;
+#line 278 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3146 "EventsDirectoryPage.c"
+}
+
+
+static gint sub_events_directory_page_sub_event_directory_manager_get_year (SubEventsDirectoryPageSubEventDirectoryManager* self) {
+ gint result = 0;
+ gint _tmp0_ = 0;
+#line 281 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER (self), 0);
+#line 282 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = self->priv->year;
+#line 282 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp0_;
+#line 282 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3161 "EventsDirectoryPage.c"
+}
+
+
+static SubEventsDirectoryPageDirectoryType sub_events_directory_page_sub_event_directory_manager_get_event_directory_type (SubEventsDirectoryPageSubEventDirectoryManager* self) {
+ SubEventsDirectoryPageDirectoryType result = 0;
+ SubEventsDirectoryPageDirectoryType _tmp0_ = 0;
+#line 285 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_return_val_if_fail (SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER (self), 0);
+#line 286 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ _tmp0_ = self->priv->type;
+#line 286 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ result = _tmp0_;
+#line 286 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ return result;
+#line 3176 "EventsDirectoryPage.c"
+}
+
+
+static void sub_events_directory_page_sub_event_directory_manager_class_init (SubEventsDirectoryPageSubEventDirectoryManagerClass * klass) {
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ sub_events_directory_page_sub_event_directory_manager_parent_class = g_type_class_peek_parent (klass);
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((ViewManagerClass *) klass)->finalize = sub_events_directory_page_sub_event_directory_manager_finalize;
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ g_type_class_add_private (klass, sizeof (SubEventsDirectoryPageSubEventDirectoryManagerPrivate));
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ ((ViewManagerClass *) klass)->include_in_view = sub_events_directory_page_sub_event_directory_manager_real_include_in_view;
+#line 3189 "EventsDirectoryPage.c"
+}
+
+
+static void sub_events_directory_page_sub_event_directory_manager_instance_init (SubEventsDirectoryPageSubEventDirectoryManager * self) {
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv = SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_GET_PRIVATE (self);
+#line 249 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv->month = 0;
+#line 250 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self->priv->year = 0;
+#line 3200 "EventsDirectoryPage.c"
+}
+
+
+static void sub_events_directory_page_sub_event_directory_manager_finalize (ViewManager* obj) {
+ SubEventsDirectoryPageSubEventDirectoryManager * self;
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager);
+#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ VIEW_MANAGER_CLASS (sub_events_directory_page_sub_event_directory_manager_parent_class)->finalize (obj);
+#line 3210 "EventsDirectoryPage.c"
+}
+
+
+static GType sub_events_directory_page_sub_event_directory_manager_get_type (void) {
+ static volatile gsize sub_events_directory_page_sub_event_directory_manager_type_id__volatile = 0;
+ if (g_once_init_enter (&sub_events_directory_page_sub_event_directory_manager_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SubEventsDirectoryPageSubEventDirectoryManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sub_events_directory_page_sub_event_directory_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SubEventsDirectoryPageSubEventDirectoryManager), 0, (GInstanceInitFunc) sub_events_directory_page_sub_event_directory_manager_instance_init, NULL };
+ GType sub_events_directory_page_sub_event_directory_manager_type_id;
+ sub_events_directory_page_sub_event_directory_manager_type_id = g_type_register_static (EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, "SubEventsDirectoryPageSubEventDirectoryManager", &g_define_type_info, 0);
+ g_once_init_leave (&sub_events_directory_page_sub_event_directory_manager_type_id__volatile, sub_events_directory_page_sub_event_directory_manager_type_id);
+ }
+ return sub_events_directory_page_sub_event_directory_manager_type_id__volatile;
+}
+
+
+static void sub_events_directory_page_class_init (SubEventsDirectoryPageClass * klass) {
+#line 237 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala"
+ sub_events_directory_page_parent_class = g_type_class_peek_parent (klass);
+#line 3229 "EventsDirectoryPage.c"
+}
+
+
+static void sub_events_directory_page_instance_init (SubEventsDirectoryPage * self) {
+}
+
+
+GType sub_events_directory_page_get_type (void) {
+ static volatile gsize sub_events_directory_page_type_id__volatile = 0;
+ if (g_once_init_enter (&sub_events_directory_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SubEventsDirectoryPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sub_events_directory_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SubEventsDirectoryPage), 0, (GInstanceInitFunc) sub_events_directory_page_instance_init, NULL };
+ GType sub_events_directory_page_type_id;
+ sub_events_directory_page_type_id = g_type_register_static (TYPE_EVENTS_DIRECTORY_PAGE, "SubEventsDirectoryPage", &g_define_type_info, 0);
+ g_once_init_leave (&sub_events_directory_page_type_id__volatile, sub_events_directory_page_type_id);
+ }
+ return sub_events_directory_page_type_id__volatile;
+}
+
+
+