summaryrefslogtreecommitdiff
path: root/src/events
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2016-08-20 15:09:31 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2016-08-20 15:09:31 +0200
commit143bfc9f801c84428074312d661f8e08803df83b (patch)
tree59a8a447529bd9ce3807aa8bacef861dc5aafd70 /src/events
parent29a7aef998e975b42401cfa96d1b750d91eadf06 (diff)
Imported Upstream version 0.23.5upstream/0.23.5
Diffstat (limited to 'src/events')
-rw-r--r--src/events/Branch.c4446
-rw-r--r--src/events/EventDirectoryItem.c1737
-rw-r--r--src/events/EventPage.c1967
-rw-r--r--src/events/Events.c36
-rw-r--r--src/events/EventsDirectoryPage.c3248
-rw-r--r--src/events/mk/events.mk32
6 files changed, 11434 insertions, 32 deletions
diff --git a/src/events/Branch.c b/src/events/Branch.c
new file mode 100644
index 0000000..193a8ee
--- /dev/null
+++ b/src/events/Branch.c
@@ -0,0 +1,4446 @@
+/* Branch.c generated by valac 0.32.1, the Vala compiler
+ * generated from Branch.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib/gi18n-lib.h>
+#include <gtk/gtk.h>
+#include <time.h>
+#include <gdk/gdk.h>
+
+
+#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ())
+#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch))
+#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+
+typedef struct _SidebarBranch SidebarBranch;
+typedef struct _SidebarBranchClass SidebarBranchClass;
+typedef struct _SidebarBranchPrivate SidebarBranchPrivate;
+
+#define EVENTS_TYPE_BRANCH (events_branch_get_type ())
+#define EVENTS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_BRANCH, EventsBranch))
+#define EVENTS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_BRANCH, EventsBranchClass))
+#define EVENTS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_BRANCH))
+#define EVENTS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_BRANCH))
+#define EVENTS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_BRANCH, EventsBranchClass))
+
+typedef struct _EventsBranch EventsBranch;
+typedef struct _EventsBranchClass EventsBranchClass;
+typedef struct _EventsBranchPrivate EventsBranchPrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_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 SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+
+#define EVENTS_TYPE_EVENT_ENTRY (events_event_entry_get_type ())
+#define EVENTS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry))
+#define EVENTS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))
+#define EVENTS_IS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_EVENT_ENTRY))
+#define EVENTS_IS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_EVENT_ENTRY))
+#define EVENTS_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))
+
+typedef struct _EventsEventEntry EventsEventEntry;
+typedef struct _EventsEventEntryClass EventsEventEntryClass;
+
+#define EVENTS_TYPE_DIRECTORY_ENTRY (events_directory_entry_get_type ())
+#define EVENTS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry))
+#define EVENTS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))
+#define EVENTS_IS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_DIRECTORY_ENTRY))
+#define EVENTS_IS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_DIRECTORY_ENTRY))
+#define EVENTS_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))
+
+typedef struct _EventsDirectoryEntry EventsDirectoryEntry;
+typedef struct _EventsDirectoryEntryClass EventsDirectoryEntryClass;
+
+#define EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY (events_undated_directory_entry_get_type ())
+#define EVENTS_UNDATED_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry))
+#define EVENTS_UNDATED_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntryClass))
+#define EVENTS_IS_UNDATED_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY))
+#define EVENTS_IS_UNDATED_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY))
+#define EVENTS_UNDATED_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntryClass))
+
+typedef struct _EventsUndatedDirectoryEntry EventsUndatedDirectoryEntry;
+typedef struct _EventsUndatedDirectoryEntryClass EventsUndatedDirectoryEntryClass;
+
+#define EVENTS_TYPE_NO_EVENT_ENTRY (events_no_event_entry_get_type ())
+#define EVENTS_NO_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry))
+#define EVENTS_NO_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntryClass))
+#define EVENTS_IS_NO_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_NO_EVENT_ENTRY))
+#define EVENTS_IS_NO_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_NO_EVENT_ENTRY))
+#define EVENTS_NO_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntryClass))
+
+typedef struct _EventsNoEventEntry EventsNoEventEntry;
+typedef struct _EventsNoEventEntryClass EventsNoEventEntryClass;
+
+#define EVENTS_TYPE_MASTER_DIRECTORY_ENTRY (events_master_directory_entry_get_type ())
+#define EVENTS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry))
+#define EVENTS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))
+#define EVENTS_IS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
+#define EVENTS_IS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
+#define EVENTS_MASTER_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))
+
+typedef struct _EventsMasterDirectoryEntry EventsMasterDirectoryEntry;
+typedef struct _EventsMasterDirectoryEntryClass EventsMasterDirectoryEntryClass;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_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 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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ())
+#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping))
+#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
+#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING))
+#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING))
+#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
+
+typedef struct _SidebarGrouping SidebarGrouping;
+typedef struct _SidebarGroupingClass SidebarGroupingClass;
+
+#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ())
+#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader))
+#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass))
+#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER))
+#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER))
+#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass))
+
+typedef struct _SidebarHeader SidebarHeader;
+typedef struct _SidebarHeaderClass SidebarHeaderClass;
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ())
+
+#define EVENTS_TYPE_YEAR_DIRECTORY_ENTRY (events_year_directory_entry_get_type ())
+#define EVENTS_YEAR_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry))
+#define EVENTS_YEAR_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryClass))
+#define EVENTS_IS_YEAR_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY))
+#define EVENTS_IS_YEAR_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY))
+#define EVENTS_YEAR_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryClass))
+
+typedef struct _EventsYearDirectoryEntry EventsYearDirectoryEntry;
+typedef struct _EventsYearDirectoryEntryClass EventsYearDirectoryEntryClass;
+
+#define EVENTS_TYPE_MONTH_DIRECTORY_ENTRY (events_month_directory_entry_get_type ())
+#define EVENTS_MONTH_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry))
+#define EVENTS_MONTH_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryClass))
+#define EVENTS_IS_MONTH_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY))
+#define EVENTS_IS_MONTH_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY))
+#define EVENTS_MONTH_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryClass))
+
+typedef struct _EventsMonthDirectoryEntry EventsMonthDirectoryEntry;
+typedef struct _EventsMonthDirectoryEntryClass EventsMonthDirectoryEntryClass;
+
+#define TYPE_EVENT_ID (event_id_get_type ())
+typedef struct _EventID EventID;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ())
+#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry))
+#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY))
+#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface))
+
+typedef struct _SidebarRenameableEntry SidebarRenameableEntry;
+typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface;
+#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL)))
+typedef struct _Block7Data Block7Data;
+typedef struct _Block8Data Block8Data;
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ())
+#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry))
+#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY))
+#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface))
+
+typedef struct _SidebarExpandableEntry SidebarExpandableEntry;
+typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface;
+typedef struct _EventsDirectoryEntryPrivate EventsDirectoryEntryPrivate;
+typedef struct _EventsMasterDirectoryEntryPrivate EventsMasterDirectoryEntryPrivate;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ())
+#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage))
+#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
+#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE))
+#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE))
+#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
+
+typedef struct _EventsDirectoryPage EventsDirectoryPage;
+typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass;
+
+#define TYPE_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 _EventsYearDirectoryEntryPrivate EventsYearDirectoryEntryPrivate;
+
+#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_DIRECTORY_TYPE (sub_events_directory_page_directory_type_get_type ())
+
+#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 _EventsMonthDirectoryEntryPrivate EventsMonthDirectoryEntryPrivate;
+typedef struct _EventsUndatedDirectoryEntryPrivate EventsUndatedDirectoryEntryPrivate;
+
+#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ())
+#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry))
+#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY))
+#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface))
+
+typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry;
+typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+typedef struct _EventsEventEntryPrivate EventsEventEntryPrivate;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define TYPE_EVENT_PAGE (event_page_get_type ())
+#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage))
+#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass))
+#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE))
+#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE))
+#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass))
+
+typedef struct _EventPage EventPage;
+typedef struct _EventPageClass EventPageClass;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_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 _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+#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_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_SET_EVENT_COMMAND (set_event_command_get_type ())
+#define SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommand))
+#define SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_EVENT_COMMAND, SetEventCommandClass))
+#define IS_SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_EVENT_COMMAND))
+#define IS_SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_EVENT_COMMAND))
+#define SET_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommandClass))
+
+typedef struct _SetEventCommand SetEventCommand;
+typedef struct _SetEventCommandClass SetEventCommandClass;
+typedef struct _EventsNoEventEntryPrivate EventsNoEventEntryPrivate;
+
+#define TYPE_NO_EVENT_PAGE (no_event_page_get_type ())
+#define NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NO_EVENT_PAGE, NoEventPage))
+#define NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NO_EVENT_PAGE, NoEventPageClass))
+#define IS_NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NO_EVENT_PAGE))
+#define IS_NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NO_EVENT_PAGE))
+#define NO_EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NO_EVENT_PAGE, NoEventPageClass))
+
+typedef struct _NoEventPage NoEventPage;
+typedef struct _NoEventPageClass NoEventPageClass;
+#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 _SidebarBranch {
+ GObject parent_instance;
+ SidebarBranchPrivate * priv;
+};
+
+struct _SidebarBranchClass {
+ GObjectClass parent_class;
+};
+
+struct _EventsBranch {
+ SidebarBranch parent_instance;
+ EventsBranchPrivate * priv;
+};
+
+struct _EventsBranchClass {
+ SidebarBranchClass parent_class;
+};
+
+struct _EventsBranchPrivate {
+ GeeHashMap* entry_map;
+ EventsUndatedDirectoryEntry* undated_entry;
+ EventsNoEventEntry* no_event_entry;
+ EventsMasterDirectoryEntry* all_events_entry;
+};
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+typedef enum {
+ SIDEBAR_BRANCH_OPTIONS_NONE = 0,
+ SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0,
+ SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1,
+ SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2,
+ SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3
+} SidebarBranchOptions;
+
+struct _EventID {
+ gint64 id;
+};
+
+struct _SidebarRenameableEntryIface {
+ GTypeInterface parent_iface;
+ void (*rename) (SidebarRenameableEntry* self, const gchar* new_name);
+ gboolean (*is_user_renameable) (SidebarRenameableEntry* self);
+};
+
+struct _Block7Data {
+ int _ref_count_;
+ EventsBranch* self;
+ gint event_month;
+};
+
+typedef gboolean (*Locator) (gconstpointer item, void* user_data);
+struct _Block8Data {
+ int _ref_count_;
+ EventsBranch* self;
+ gint event_year;
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _SidebarExpandableEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*expand_on_select) (SidebarExpandableEntry* self);
+};
+
+struct _EventsDirectoryEntry {
+ SidebarSimplePageEntry parent_instance;
+ EventsDirectoryEntryPrivate * priv;
+};
+
+struct _EventsDirectoryEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _EventsMasterDirectoryEntry {
+ EventsDirectoryEntry parent_instance;
+ EventsMasterDirectoryEntryPrivate * priv;
+};
+
+struct _EventsMasterDirectoryEntryClass {
+ EventsDirectoryEntryClass parent_class;
+};
+
+struct _EventsYearDirectoryEntry {
+ EventsDirectoryEntry parent_instance;
+ EventsYearDirectoryEntryPrivate * priv;
+};
+
+struct _EventsYearDirectoryEntryClass {
+ EventsDirectoryEntryClass parent_class;
+};
+
+struct _EventsYearDirectoryEntryPrivate {
+ gchar* name;
+ struct tm tm;
+};
+
+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 _EventsMonthDirectoryEntry {
+ EventsDirectoryEntry parent_instance;
+ EventsMonthDirectoryEntryPrivate * priv;
+};
+
+struct _EventsMonthDirectoryEntryClass {
+ EventsDirectoryEntryClass parent_class;
+};
+
+struct _EventsMonthDirectoryEntryPrivate {
+ gchar* name;
+ struct tm tm;
+};
+
+struct _EventsUndatedDirectoryEntry {
+ EventsDirectoryEntry parent_instance;
+ EventsUndatedDirectoryEntryPrivate * priv;
+};
+
+struct _EventsUndatedDirectoryEntryClass {
+ EventsDirectoryEntryClass parent_class;
+};
+
+struct _SidebarInternalDropTargetEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources);
+ gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data);
+};
+
+struct _EventsEventEntry {
+ SidebarSimplePageEntry parent_instance;
+ EventsEventEntryPrivate * priv;
+};
+
+struct _EventsEventEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _EventsEventEntryPrivate {
+ Event* event;
+};
+
+struct _EventsNoEventEntry {
+ SidebarSimplePageEntry parent_instance;
+ EventsNoEventEntryPrivate * priv;
+};
+
+struct _EventsNoEventEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+
+static gpointer events_branch_parent_class = NULL;
+extern EventSourceCollection* event_global;
+extern gchar* events_branch_icon;
+gchar* events_branch_icon = NULL;
+extern gchar* events_branch_events_icon;
+gchar* events_branch_events_icon = NULL;
+extern gchar* events_branch_single_event_icon;
+gchar* events_branch_single_event_icon = NULL;
+extern gchar* events_branch_no_event_icon;
+gchar* events_branch_no_event_icon = NULL;
+static gboolean events_branch_sort_ascending;
+static gboolean events_branch_sort_ascending = FALSE;
+static gpointer events_directory_entry_parent_class = NULL;
+static SidebarExpandableEntryIface* events_directory_entry_sidebar_expandable_entry_parent_iface = NULL;
+static gpointer events_master_directory_entry_parent_class = NULL;
+static gpointer events_year_directory_entry_parent_class = NULL;
+static gpointer events_month_directory_entry_parent_class = NULL;
+static gpointer events_undated_directory_entry_parent_class = NULL;
+static gpointer events_event_entry_parent_class = NULL;
+static SidebarRenameableEntryIface* events_event_entry_sidebar_renameable_entry_parent_iface = NULL;
+static SidebarInternalDropTargetEntryIface* events_event_entry_sidebar_internal_drop_target_entry_parent_iface = NULL;
+static gpointer events_no_event_entry_parent_class = NULL;
+
+GType sidebar_branch_get_type (void) G_GNUC_CONST;
+GType events_branch_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType event_source_get_type (void) G_GNUC_CONST;
+GType event_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType events_event_entry_get_type (void) G_GNUC_CONST;
+GType events_directory_entry_get_type (void) G_GNUC_CONST;
+GType events_undated_directory_entry_get_type (void) G_GNUC_CONST;
+GType events_no_event_entry_get_type (void) G_GNUC_CONST;
+GType events_master_directory_entry_get_type (void) G_GNUC_CONST;
+#define EVENTS_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_BRANCH, EventsBranchPrivate))
+enum {
+ EVENTS_BRANCH_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType container_source_collection_get_type (void) G_GNUC_CONST;
+GType event_source_collection_get_type (void) G_GNUC_CONST;
+static void events_branch_on_events_added_removed (EventsBranch* self, GeeIterable* added, GeeIterable* removed);
+static void _events_branch_on_events_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+static void events_branch_on_events_altered (EventsBranch* self, GeeMap* altered);
+static void _events_branch_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
+static void events_branch_on_no_event_collection_altered (EventsBranch* self);
+static void _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered (EventSourceCollection* _sender, gpointer self);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+static void events_branch_on_config_changed (EventsBranch* self);
+static void _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed (ConfigurationFacade* _sender, gpointer self);
+#define RESOURCES_ICON_FOLDER "folder"
+#define RESOURCES_ICON_EVENTS "multiple-events"
+#define RESOURCES_ICON_ONE_EVENT "one-event"
+#define RESOURCES_ICON_NO_EVENT "no-event"
+EventsUndatedDirectoryEntry* events_undated_directory_entry_new (void);
+EventsUndatedDirectoryEntry* events_undated_directory_entry_construct (GType object_type);
+EventsNoEventEntry* events_no_event_entry_new (void);
+EventsNoEventEntry* events_no_event_entry_construct (GType object_type);
+EventsMasterDirectoryEntry* events_master_directory_entry_new (void);
+EventsMasterDirectoryEntry* events_master_directory_entry_construct (GType object_type);
+EventsBranch* events_branch_new (void);
+EventsBranch* events_branch_construct (GType object_type);
+SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized);
+SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized);
+GType sidebar_grouping_get_type (void) G_GNUC_CONST;
+GType sidebar_header_get_type (void) G_GNUC_CONST;
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_branch_options_get_type (void) G_GNUC_CONST;
+static gint events_branch_event_year_comparator (SidebarEntry* a, SidebarEntry* b);
+static gint _events_branch_event_year_comparator_gcompare_func (gconstpointer a, gconstpointer b);
+SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator);
+SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator);
+void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator);
+SidebarEntry* sidebar_branch_get_root (SidebarBranch* self);
+GeeCollection* data_collection_get_all (DataCollection* self);
+static void events_branch_add_event (EventsBranch* self, Event* event);
+static void events_branch_show_no_events (EventsBranch* self, gboolean show);
+GeeCollection* event_source_collection_get_no_event_objects (EventSourceCollection* self);
+void events_branch_init (void);
+gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self);
+void events_branch_terminate (void);
+gboolean events_branch_is_user_renameable (EventsBranch* self);
+EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self);
+GType events_year_directory_entry_get_type (void) G_GNUC_CONST;
+gint events_year_directory_entry_get_year (EventsYearDirectoryEntry* self);
+static gint events_branch_event_month_comparator (SidebarEntry* a, SidebarEntry* b);
+GType events_month_directory_entry_get_type (void) G_GNUC_CONST;
+gint events_month_directory_entry_get_month (EventsMonthDirectoryEntry* self);
+static gint events_branch_event_comparator (SidebarEntry* a, SidebarEntry* b);
+Event* events_event_entry_get_event (EventsEventEntry* self);
+time_t event_source_get_start_time (EventSource* self);
+GType event_id_get_type (void) G_GNUC_CONST;
+EventID* event_id_dup (const EventID* self);
+void event_id_free (EventID* self);
+void event_get_event_id (Event* self, EventID* result);
+static gint events_branch_undated_event_comparator (SidebarEntry* a, SidebarEntry* b);
+gchar* data_object_get_name (DataObject* self);
+gint64 data_source_get_instance_id (DataSource* self);
+EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self, Event* event);
+void sidebar_branch_reorder_all (SidebarBranch* self);
+static void events_branch_remove_event (EventsBranch* self, Event* event);
+gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail);
+static void events_branch_move_event (EventsBranch* self, Event* event);
+GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST;
+static void events_branch_add_undated_event (EventsBranch* self, Event* event);
+static SidebarEntry* events_branch_find_event_month (EventsBranch* self, Event* event, struct tm* event_tm, SidebarEntry** found_year);
+static void events_branch_graft_event (EventsBranch* self, SidebarEntry* parent, Event* event, GCompareFunc comparator);
+static gint _events_branch_event_comparator_gcompare_func (gconstpointer a, gconstpointer b);
+#define SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT _ ("%Y")
+EventsYearDirectoryEntry* events_year_directory_entry_new (const gchar* name, struct tm* tm);
+EventsYearDirectoryEntry* events_year_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm);
+static gint _events_branch_event_month_comparator_gcompare_func (gconstpointer a, gconstpointer b);
+#define SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT _ ("%B")
+EventsMonthDirectoryEntry* events_month_directory_entry_new (const gchar* name, struct tm* tm);
+EventsMonthDirectoryEntry* events_month_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm);
+static void events_branch_move_to_undated_event (EventsBranch* self, Event* event);
+static void events_branch_reparent_event (EventsBranch* self, Event* event, SidebarEntry* new_parent);
+SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self, SidebarEntry* entry);
+void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry);
+gint sidebar_branch_get_child_count (SidebarBranch* self, SidebarEntry* parent);
+static Block7Data* block7_data_ref (Block7Data* _data7_);
+static void block7_data_unref (void * _userdata_);
+static SidebarEntry* events_branch_find_event_year (EventsBranch* self, Event* event, struct tm* event_tm);
+SidebarEntry* sidebar_branch_find_first_child (SidebarBranch* self, SidebarEntry* parent, Locator locator, void* locator_target);
+static gboolean __lambda17_ (Block7Data* _data7_, SidebarEntry* entry);
+static gboolean ___lambda17__locator (gconstpointer item, gpointer self);
+static Block8Data* block8_data_ref (Block8Data* _data8_);
+static void block8_data_unref (void * _userdata_);
+static gboolean __lambda16_ (Block8Data* _data8_, SidebarEntry* entry);
+static gboolean ___lambda16__locator (gconstpointer item, gpointer self);
+gboolean sidebar_branch_has_entry (SidebarBranch* self, SidebarEntry* entry);
+static gint _events_branch_undated_event_comparator_gcompare_func (gconstpointer a, gconstpointer b);
+EventsEventEntry* events_event_entry_new (Event* event);
+EventsEventEntry* events_event_entry_construct (GType object_type, Event* event);
+void sidebar_branch_reparent (SidebarBranch* self, SidebarEntry* new_parent, SidebarEntry* entry);
+static void events_branch_finalize (GObject* obj);
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST;
+enum {
+ EVENTS_DIRECTORY_ENTRY_DUMMY_PROPERTY
+};
+EventsDirectoryEntry* events_directory_entry_construct (GType object_type);
+SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type);
+static gchar* events_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+static gboolean events_directory_entry_real_expand_on_select (SidebarExpandableEntry* base);
+enum {
+ EVENTS_MASTER_DIRECTORY_ENTRY_DUMMY_PROPERTY
+};
+static gchar* events_master_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define MASTER_EVENTS_DIRECTORY_PAGE_NAME _ ("All Events")
+static gchar* events_master_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+static Page* events_master_directory_entry_real_create_page (SidebarSimplePageEntry* base);
+MasterEventsDirectoryPage* master_events_directory_page_new (void);
+MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType events_directory_page_get_type (void) G_GNUC_CONST;
+GType master_events_directory_page_get_type (void) G_GNUC_CONST;
+#define EVENTS_YEAR_DIRECTORY_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryPrivate))
+enum {
+ EVENTS_YEAR_DIRECTORY_ENTRY_DUMMY_PROPERTY
+};
+static gchar* events_year_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+static Page* events_year_directory_entry_real_create_page (SidebarSimplePageEntry* base);
+GType sub_events_directory_page_directory_type_get_type (void) G_GNUC_CONST;
+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);
+GType sub_events_directory_page_get_type (void) G_GNUC_CONST;
+static void events_year_directory_entry_finalize (GObject* obj);
+#define EVENTS_MONTH_DIRECTORY_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryPrivate))
+enum {
+ EVENTS_MONTH_DIRECTORY_ENTRY_DUMMY_PROPERTY
+};
+static gchar* events_month_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+gint events_month_directory_entry_get_year (EventsMonthDirectoryEntry* self);
+static Page* events_month_directory_entry_real_create_page (SidebarSimplePageEntry* base);
+static void events_month_directory_entry_finalize (GObject* obj);
+enum {
+ EVENTS_UNDATED_DIRECTORY_ENTRY_DUMMY_PROPERTY
+};
+static gchar* events_undated_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME _ ("Undated")
+static Page* events_undated_directory_entry_real_create_page (SidebarSimplePageEntry* base);
+GType media_source_get_type (void) G_GNUC_CONST;
+GType sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST;
+#define EVENTS_EVENT_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryPrivate))
+enum {
+ EVENTS_EVENT_ENTRY_DUMMY_PROPERTY
+};
+static gchar* events_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+static gchar* events_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+static Page* events_event_entry_real_create_page (SidebarSimplePageEntry* base);
+EventPage* event_page_new (Event* page_event);
+EventPage* event_page_construct (GType object_type, Event* page_event);
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType event_page_get_type (void) G_GNUC_CONST;
+static gboolean events_event_entry_real_is_user_renameable (SidebarRenameableEntry* base);
+static void events_event_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name);
+gchar* event_prep_event_name (const gchar* 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* app_window_get_command_manager (void);
+GType command_get_type (void) G_GNUC_CONST;
+void command_manager_execute (CommandManager* self, Command* command);
+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);
+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;
+static gboolean events_event_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media);
+GType data_view_get_type (void) G_GNUC_CONST;
+DataView* data_view_new (DataSource* source);
+DataView* data_view_construct (GType object_type, DataSource* source);
+SetEventCommand* set_event_command_new (GeeIterable* iter, Event* new_event);
+SetEventCommand* set_event_command_construct (GType object_type, GeeIterable* iter, Event* new_event);
+GType move_photos_command_get_type (void) G_GNUC_CONST;
+GType set_event_command_get_type (void) G_GNUC_CONST;
+static gboolean events_event_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data);
+static void events_event_entry_finalize (GObject* obj);
+enum {
+ EVENTS_NO_EVENT_ENTRY_DUMMY_PROPERTY
+};
+static gchar* events_no_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+#define NO_EVENT_PAGE_NAME _ ("No Event")
+static gchar* events_no_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+static Page* events_no_event_entry_real_create_page (SidebarSimplePageEntry* base);
+NoEventPage* no_event_page_new (void);
+NoEventPage* no_event_page_construct (GType object_type);
+GType no_event_page_get_type (void) G_GNUC_CONST;
+
+
+static void _events_branch_on_events_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) {
+#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_on_events_added_removed ((EventsBranch*) self, added, removed);
+#line 997 "Branch.c"
+}
+
+
+static void _events_branch_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
+#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_on_events_altered ((EventsBranch*) self, items);
+#line 1004 "Branch.c"
+}
+
+
+static void _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered (EventSourceCollection* _sender, gpointer self) {
+#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_on_no_event_collection_altered ((EventsBranch*) self);
+#line 1011 "Branch.c"
+}
+
+
+static void _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed (ConfigurationFacade* _sender, gpointer self) {
+#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_on_config_changed ((EventsBranch*) self);
+#line 1018 "Branch.c"
+}
+
+
+static gint _events_branch_event_year_comparator_gcompare_func (gconstpointer a, gconstpointer b) {
+ gint result;
+ result = events_branch_event_year_comparator ((SidebarEntry*) a, (SidebarEntry*) b);
+#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1027 "Branch.c"
+}
+
+
+EventsBranch* events_branch_construct (GType object_type) {
+ EventsBranch * self = NULL;
+ const gchar* _tmp0_ = NULL;
+ SidebarHeader* _tmp1_ = NULL;
+ SidebarHeader* _tmp2_ = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ EventsMasterDirectoryEntry* _tmp5_ = NULL;
+ EventSourceCollection* _tmp16_ = NULL;
+ GeeCollection* _tmp17_ = NULL;
+ GeeCollection* _tmp18_ = NULL;
+ gint _tmp19_ = 0;
+ gint _tmp20_ = 0;
+ EventSourceCollection* _tmp21_ = NULL;
+ EventSourceCollection* _tmp22_ = NULL;
+ EventSourceCollection* _tmp23_ = NULL;
+ ConfigFacade* _tmp24_ = NULL;
+ ConfigFacade* _tmp25_ = NULL;
+#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = _ ("Events");
+#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = sidebar_header_new (_tmp0_, TRUE);
+#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = _tmp1_;
+#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry), SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD, _events_branch_event_year_comparator_gcompare_func, NULL);
+#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp2_);
+#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = _tmp3_;
+#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = self->priv->all_events_entry;
+#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL);
+#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp4_);
+#line 1069 "Branch.c"
+ {
+ GeeIterator* _object_it = NULL;
+ EventSourceCollection* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+ GeeCollection* _tmp8_ = NULL;
+ GeeIterator* _tmp9_ = NULL;
+ GeeIterator* _tmp10_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = event_global;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection));
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = _tmp7_;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = _tmp9_;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp8_);
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _object_it = _tmp10_;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 1093 "Branch.c"
+ GeeIterator* _tmp11_ = NULL;
+ gboolean _tmp12_ = FALSE;
+ DataObject* object = NULL;
+ GeeIterator* _tmp13_ = NULL;
+ gpointer _tmp14_ = NULL;
+ DataObject* _tmp15_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = _object_it;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = gee_iterator_next (_tmp11_);
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp12_) {
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 1108 "Branch.c"
+ }
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = _object_it;
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = gee_iterator_get (_tmp13_);
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ object = (DataObject*) _tmp14_;
+#line 32 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = object;
+#line 32 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_add_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EVENT, Event));
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (object);
+#line 1122 "Branch.c"
+ }
+#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_object_it);
+#line 1126 "Branch.c"
+ }
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = event_global;
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = event_source_collection_get_no_event_objects (_tmp16_);
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = _tmp17_;
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = gee_collection_get_size (_tmp18_);
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = _tmp19_;
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_show_no_events (self, _tmp20_ > 0);
+#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp18_);
+#line 37 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = event_global;
+#line 37 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _events_branch_on_events_added_removed_data_collection_contents_altered, self, 0);
+#line 38 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp22_ = event_global;
+#line 38 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _events_branch_on_events_altered_data_collection_items_altered, self, 0);
+#line 39 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp23_ = event_global;
+#line 39 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_connect_object (_tmp23_, "no-event-collection-altered", (GCallback) _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered, self, 0);
+#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp24_ = config_facade_get_instance ();
+#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp25_ = _tmp24_;
+#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "events-sort-ascending-changed", (GCallback) _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed, self, 0);
+#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp25_);
+#line 24 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 1164 "Branch.c"
+}
+
+
+EventsBranch* events_branch_new (void) {
+#line 24 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_branch_construct (EVENTS_TYPE_BRANCH);
+#line 1171 "Branch.c"
+}
+
+
+void events_branch_init (void) {
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_sort_ascending = _tmp2_;
+#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1189 "Branch.c"
+}
+
+
+void events_branch_terminate (void) {
+}
+
+
+gboolean events_branch_is_user_renameable (EventsBranch* self) {
+ gboolean result = FALSE;
+#line 60 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_BRANCH (self), FALSE);
+#line 61 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = TRUE;
+#line 61 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1205 "Branch.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1212 "Branch.c"
+}
+
+
+EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self) {
+ EventsMasterDirectoryEntry* result = NULL;
+ EventsMasterDirectoryEntry* _tmp0_ = NULL;
+ EventsMasterDirectoryEntry* _tmp1_ = NULL;
+#line 64 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
+#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->all_events_entry;
+#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1230 "Branch.c"
+}
+
+
+static gint events_branch_event_year_comparator (SidebarEntry* a, SidebarEntry* b) {
+ gint result = 0;
+ SidebarEntry* _tmp0_ = NULL;
+ SidebarEntry* _tmp1_ = NULL;
+ SidebarEntry* _tmp2_ = NULL;
+ SidebarEntry* _tmp6_ = NULL;
+ SidebarEntry* _tmp8_ = NULL;
+ gboolean _tmp10_ = FALSE;
+ gint _result_ = 0;
+ SidebarEntry* _tmp15_ = NULL;
+ gint _tmp16_ = 0;
+ SidebarEntry* _tmp17_ = NULL;
+ gint _tmp18_ = 0;
+ gint _tmp19_ = 0;
+#line 68 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
+#line 68 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
+#line 69 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = a;
+#line 69 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = b;
+#line 69 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 70 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 0;
+#line 70 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1262 "Branch.c"
+ }
+#line 74 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = a;
+#line 74 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) {
+#line 1268 "Branch.c"
+ SidebarEntry* _tmp3_ = NULL;
+#line 75 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = b;
+#line 75 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, EVENTS_TYPE_NO_EVENT_ENTRY)) {
+#line 76 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = -1;
+#line 76 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1278 "Branch.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 1;
+#line 77 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1284 "Branch.c"
+ } else {
+ SidebarEntry* _tmp4_ = NULL;
+#line 78 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = b;
+#line 78 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) {
+#line 1291 "Branch.c"
+ SidebarEntry* _tmp5_ = NULL;
+#line 79 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = a;
+#line 79 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, EVENTS_TYPE_NO_EVENT_ENTRY)) {
+#line 80 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 1;
+#line 80 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1301 "Branch.c"
+ }
+#line 81 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = -1;
+#line 81 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1307 "Branch.c"
+ }
+ }
+#line 84 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = a;
+#line 84 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, EVENTS_TYPE_NO_EVENT_ENTRY)) {
+#line 85 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 1;
+#line 85 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1318 "Branch.c"
+ } else {
+ SidebarEntry* _tmp7_ = NULL;
+#line 86 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = b;
+#line 86 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, EVENTS_TYPE_NO_EVENT_ENTRY)) {
+#line 87 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = -1;
+#line 87 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1329 "Branch.c"
+ }
+ }
+#line 90 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = a;
+#line 90 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) {
+#line 91 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = -1;
+#line 91 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1340 "Branch.c"
+ } else {
+ SidebarEntry* _tmp9_ = NULL;
+#line 92 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = b;
+#line 92 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) {
+#line 93 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 1;
+#line 93 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1351 "Branch.c"
+ }
+ }
+#line 95 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = events_branch_sort_ascending;
+#line 95 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp10_) {
+#line 1358 "Branch.c"
+ SidebarEntry* swap = NULL;
+ SidebarEntry* _tmp11_ = NULL;
+ SidebarEntry* _tmp12_ = NULL;
+ SidebarEntry* _tmp13_ = NULL;
+ SidebarEntry* _tmp14_ = NULL;
+#line 96 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = a;
+#line 96 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = _g_object_ref0 (_tmp11_);
+#line 96 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ swap = _tmp12_;
+#line 97 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = b;
+#line 97 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ a = _tmp13_;
+#line 98 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = swap;
+#line 98 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ b = _tmp14_;
+#line 95 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (swap);
+#line 1380 "Branch.c"
+ }
+#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = a;
+#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry));
+#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = b;
+#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry));
+#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _result_ = _tmp16_ - _tmp18_;
+#line 103 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = _result_;
+#line 103 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp19_ != 0, "result != 0");
+#line 105 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _result_;
+#line 105 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1400 "Branch.c"
+}
+
+
+static gint events_branch_event_month_comparator (SidebarEntry* a, SidebarEntry* b) {
+ gint result = 0;
+ SidebarEntry* _tmp0_ = NULL;
+ SidebarEntry* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _result_ = 0;
+ SidebarEntry* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+ SidebarEntry* _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+#line 108 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
+#line 108 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
+#line 109 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = a;
+#line 109 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = b;
+#line 109 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 110 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 0;
+#line 110 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1429 "Branch.c"
+ }
+#line 112 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = events_branch_sort_ascending;
+#line 112 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp2_) {
+#line 1435 "Branch.c"
+ SidebarEntry* swap = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+ SidebarEntry* _tmp6_ = NULL;
+#line 113 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = a;
+#line 113 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 113 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ swap = _tmp4_;
+#line 114 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = b;
+#line 114 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ a = _tmp5_;
+#line 115 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = swap;
+#line 115 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ b = _tmp6_;
+#line 112 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (swap);
+#line 1457 "Branch.c"
+ }
+#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = a;
+#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry));
+#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = b;
+#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry));
+#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _result_ = _tmp8_ - _tmp10_;
+#line 120 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = _result_;
+#line 120 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp11_ != 0, "result != 0");
+#line 122 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _result_;
+#line 122 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1477 "Branch.c"
+}
+
+
+static gint events_branch_event_comparator (SidebarEntry* a, SidebarEntry* b) {
+ gint result = 0;
+ SidebarEntry* _tmp0_ = NULL;
+ SidebarEntry* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint64 _result_ = 0LL;
+ SidebarEntry* _tmp7_ = NULL;
+ Event* _tmp8_ = NULL;
+ Event* _tmp9_ = NULL;
+ time_t _tmp10_ = 0;
+ SidebarEntry* _tmp11_ = NULL;
+ Event* _tmp12_ = NULL;
+ Event* _tmp13_ = NULL;
+ time_t _tmp14_ = 0;
+ gint64 _tmp15_ = 0LL;
+ gint64 _tmp16_ = 0LL;
+ gint64 _tmp27_ = 0LL;
+ gint _tmp28_ = 0;
+ gint64 _tmp29_ = 0LL;
+#line 125 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
+#line 125 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
+#line 126 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = a;
+#line 126 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = b;
+#line 126 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 127 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 0;
+#line 127 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1514 "Branch.c"
+ }
+#line 129 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = events_branch_sort_ascending;
+#line 129 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp2_) {
+#line 1520 "Branch.c"
+ SidebarEntry* swap = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+ SidebarEntry* _tmp6_ = NULL;
+#line 130 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = a;
+#line 130 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 130 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ swap = _tmp4_;
+#line 131 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = b;
+#line 131 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ a = _tmp5_;
+#line 132 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = swap;
+#line 132 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ b = _tmp6_;
+#line 129 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (swap);
+#line 1542 "Branch.c"
+ }
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = a;
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = _tmp8_;
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT_SOURCE, EventSource));
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = b;
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = _tmp12_;
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_EVENT_SOURCE, EventSource));
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = (gint64) (_tmp10_ - _tmp14_);
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp13_);
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp9_);
+#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _result_ = _tmp15_;
+#line 139 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = _result_;
+#line 139 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp16_ == ((gint64) 0)) {
+#line 1572 "Branch.c"
+ SidebarEntry* _tmp17_ = NULL;
+ Event* _tmp18_ = NULL;
+ Event* _tmp19_ = NULL;
+ EventID _tmp20_ = {0};
+ gint64 _tmp21_ = 0LL;
+ SidebarEntry* _tmp22_ = NULL;
+ Event* _tmp23_ = NULL;
+ Event* _tmp24_ = NULL;
+ EventID _tmp25_ = {0};
+ gint64 _tmp26_ = 0LL;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = a;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = _tmp18_;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event_get_event_id (_tmp19_, &_tmp20_);
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = _tmp20_.id;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp22_ = b;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp23_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp24_ = _tmp23_;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event_get_event_id (_tmp24_, &_tmp25_);
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp26_ = _tmp25_.id;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _result_ = _tmp21_ - _tmp26_;
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp24_);
+#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp19_);
+#line 1609 "Branch.c"
+ }
+#line 144 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp27_ = _result_;
+#line 144 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp27_ != ((gint64) 0), "result != 0");
+#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp29_ = _result_;
+#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp29_ < ((gint64) 0)) {
+#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp28_ = -1;
+#line 1621 "Branch.c"
+ } else {
+#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp28_ = 1;
+#line 1625 "Branch.c"
+ }
+#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp28_;
+#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1631 "Branch.c"
+}
+
+
+static gint events_branch_undated_event_comparator (SidebarEntry* a, SidebarEntry* b) {
+ gint result = 0;
+ SidebarEntry* _tmp0_ = NULL;
+ SidebarEntry* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint ret = 0;
+ SidebarEntry* _tmp7_ = NULL;
+ Event* _tmp8_ = NULL;
+ Event* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ SidebarEntry* _tmp12_ = NULL;
+ Event* _tmp13_ = NULL;
+ Event* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ gchar* _tmp16_ = NULL;
+ gint _tmp17_ = 0;
+ gint _tmp18_ = 0;
+ gint _tmp19_ = 0;
+#line 149 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
+#line 149 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
+#line 150 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = a;
+#line 150 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = b;
+#line 150 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 151 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = 0;
+#line 151 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1668 "Branch.c"
+ }
+#line 153 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = events_branch_sort_ascending;
+#line 153 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp2_) {
+#line 1674 "Branch.c"
+ SidebarEntry* swap = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+ SidebarEntry* _tmp6_ = NULL;
+#line 154 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = a;
+#line 154 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 154 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ swap = _tmp4_;
+#line 155 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = b;
+#line 155 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ a = _tmp5_;
+#line 156 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = swap;
+#line 156 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ b = _tmp6_;
+#line 153 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (swap);
+#line 1696 "Branch.c"
+ }
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = a;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = _tmp8_;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject));
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = _tmp10_;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = b;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject));
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = _tmp15_;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = g_utf8_collate (_tmp11_, _tmp16_);
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = _tmp17_;
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp16_);
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp14_);
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp11_);
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp9_);
+#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ret = _tmp18_;
+#line 162 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = ret;
+#line 162 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp19_ == 0) {
+#line 1736 "Branch.c"
+ SidebarEntry* _tmp20_ = NULL;
+ Event* _tmp21_ = NULL;
+ Event* _tmp22_ = NULL;
+ gint64 _tmp23_ = 0LL;
+ SidebarEntry* _tmp24_ = NULL;
+ Event* _tmp25_ = NULL;
+ Event* _tmp26_ = NULL;
+ gint64 _tmp27_ = 0LL;
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = b;
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp22_ = _tmp21_;
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp23_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_SOURCE, DataSource));
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp24_ = a;
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp25_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp26_ = _tmp25_;
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp27_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_SOURCE, DataSource));
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ret = (gint) (_tmp23_ - _tmp27_);
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp26_);
+#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp22_);
+#line 1767 "Branch.c"
+ }
+#line 166 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = ret;
+#line 166 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1773 "Branch.c"
+}
+
+
+EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self, Event* event) {
+ EventsEventEntry* result = NULL;
+ GeeHashMap* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ gpointer _tmp2_ = NULL;
+#line 169 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
+#line 169 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (IS_EVENT (event), NULL);
+#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->entry_map;
+#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event;
+#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = (EventsEventEntry*) _tmp2_;
+#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 1796 "Branch.c"
+}
+
+
+static void events_branch_on_config_changed (EventsBranch* self) {
+ gboolean value = FALSE;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+#line 173 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp1_);
+#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ value = _tmp3_;
+#line 176 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_sort_ascending = value;
+#line 177 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_reorder_all (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 1824 "Branch.c"
+}
+
+
+static void events_branch_on_events_added_removed (EventsBranch* self, GeeIterable* added, GeeIterable* removed) {
+ GeeIterable* _tmp0_ = NULL;
+ GeeIterable* _tmp8_ = NULL;
+#line 180 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 180 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added));
+#line 180 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed));
+#line 182 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = added;
+#line 182 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_ != NULL) {
+#line 1841 "Branch.c"
+ {
+ GeeIterator* _object_it = NULL;
+ GeeIterable* _tmp1_ = NULL;
+ GeeIterator* _tmp2_ = NULL;
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = added;
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = gee_iterable_iterator (_tmp1_);
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _object_it = _tmp2_;
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 1854 "Branch.c"
+ GeeIterator* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+ DataObject* object = NULL;
+ GeeIterator* _tmp5_ = NULL;
+ gpointer _tmp6_ = NULL;
+ DataObject* _tmp7_ = NULL;
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _object_it;
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = gee_iterator_next (_tmp3_);
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp4_) {
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 1869 "Branch.c"
+ }
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = _object_it;
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = gee_iterator_get (_tmp5_);
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ object = (DataObject*) _tmp6_;
+#line 184 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = object;
+#line 184 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_add_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_EVENT, Event));
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (object);
+#line 1883 "Branch.c"
+ }
+#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_object_it);
+#line 1887 "Branch.c"
+ }
+ }
+#line 187 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = removed;
+#line 187 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp8_ != NULL) {
+#line 1894 "Branch.c"
+ {
+ GeeIterator* _object_it = NULL;
+ GeeIterable* _tmp9_ = NULL;
+ GeeIterator* _tmp10_ = NULL;
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = removed;
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = gee_iterable_iterator (_tmp9_);
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _object_it = _tmp10_;
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 1907 "Branch.c"
+ GeeIterator* _tmp11_ = NULL;
+ gboolean _tmp12_ = FALSE;
+ DataObject* object = NULL;
+ GeeIterator* _tmp13_ = NULL;
+ gpointer _tmp14_ = NULL;
+ DataObject* _tmp15_ = NULL;
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = _object_it;
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = gee_iterator_next (_tmp11_);
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp12_) {
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 1922 "Branch.c"
+ }
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = _object_it;
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = gee_iterator_get (_tmp13_);
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ object = (DataObject*) _tmp14_;
+#line 189 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = object;
+#line 189 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_remove_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EVENT, Event));
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (object);
+#line 1936 "Branch.c"
+ }
+#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_object_it);
+#line 1940 "Branch.c"
+ }
+ }
+}
+
+
+static void events_branch_on_events_altered (EventsBranch* self, GeeMap* altered) {
+#line 193 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 193 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (GEE_IS_MAP (altered));
+#line 1951 "Branch.c"
+ {
+ GeeIterator* _object_it = NULL;
+ GeeMap* _tmp0_ = NULL;
+ GeeSet* _tmp1_ = NULL;
+ GeeSet* _tmp2_ = NULL;
+ GeeSet* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = altered;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = gee_map_get_keys (_tmp0_);
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = _tmp1_;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp3_);
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _object_it = _tmp5_;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 1978 "Branch.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ DataObject* object = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ Event* event = NULL;
+ DataObject* _tmp10_ = NULL;
+ Event* _tmp11_ = NULL;
+ Alteration* alteration = NULL;
+ GeeMap* _tmp12_ = NULL;
+ DataObject* _tmp13_ = NULL;
+ gpointer _tmp14_ = NULL;
+ Alteration* _tmp15_ = NULL;
+ gboolean _tmp16_ = FALSE;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = _object_it;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp7_) {
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 2001 "Branch.c"
+ }
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = _object_it;
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ object = (DataObject*) _tmp9_;
+#line 195 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = object;
+#line 195 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_EVENT, Event));
+#line 195 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event = _tmp11_;
+#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = altered;
+#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = object;
+#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = gee_map_get (_tmp12_, _tmp13_);
+#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ alteration = (Alteration*) _tmp14_;
+#line 198 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = alteration;
+#line 198 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = alteration_has_detail (_tmp15_, "metadata", "time");
+#line 198 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp16_) {
+#line 2029 "Branch.c"
+ Event* _tmp17_ = NULL;
+#line 201 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = event;
+#line 201 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_move_event (self, _tmp17_);
+#line 2035 "Branch.c"
+ } else {
+ Alteration* _tmp18_ = NULL;
+ gboolean _tmp19_ = FALSE;
+#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = alteration;
+#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = alteration_has_detail (_tmp18_, "metadata", "name");
+#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp19_) {
+#line 2045 "Branch.c"
+ EventsEventEntry* entry = NULL;
+ GeeHashMap* _tmp20_ = NULL;
+ Event* _tmp21_ = NULL;
+ gpointer _tmp22_ = NULL;
+ EventsEventEntry* _tmp23_ = NULL;
+ EventsEventEntry* _tmp24_ = NULL;
+ Event* _tmp25_ = NULL;
+ gchar* _tmp26_ = NULL;
+ gchar* _tmp27_ = NULL;
+ EventsEventEntry* _tmp28_ = NULL;
+ Event* _tmp29_ = NULL;
+ gchar* _tmp30_ = NULL;
+ gchar* _tmp31_ = NULL;
+#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = self->priv->entry_map;
+#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = event;
+#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp22_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp21_);
+#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ entry = (EventsEventEntry*) _tmp22_;
+#line 204 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp23_ = entry;
+#line 204 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp23_ != NULL, "entry != null");
+#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp24_ = entry;
+#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp25_ = event;
+#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject));
+#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp27_ = _tmp26_;
+#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry), "sidebar-name-changed", _tmp27_);
+#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp27_);
+#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp28_ = entry;
+#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp29_ = event;
+#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp30_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject));
+#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp31_ = _tmp30_;
+#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-tooltip-changed", _tmp31_);
+#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp31_);
+#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (entry);
+#line 2097 "Branch.c"
+ }
+ }
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _alteration_unref0 (alteration);
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (event);
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (object);
+#line 2106 "Branch.c"
+ }
+#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_object_it);
+#line 2110 "Branch.c"
+ }
+}
+
+
+static void events_branch_on_no_event_collection_altered (EventsBranch* self) {
+ EventSourceCollection* _tmp0_ = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+#line 212 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event_global;
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event_source_collection_get_no_event_objects (_tmp0_);
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = _tmp1_;
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = gee_collection_get_size (_tmp2_);
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = _tmp3_;
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_show_no_events (self, _tmp4_ > 0);
+#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp2_);
+#line 2137 "Branch.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 2152 "Branch.c"
+}
+
+
+static gint _events_branch_event_comparator_gcompare_func (gconstpointer a, gconstpointer b) {
+ gint result;
+ result = events_branch_event_comparator ((SidebarEntry*) a, (SidebarEntry*) b);
+#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2161 "Branch.c"
+}
+
+
+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 2207 "Branch.c"
+}
+
+
+static gint _events_branch_event_month_comparator_gcompare_func (gconstpointer a, gconstpointer b) {
+ gint result;
+ result = events_branch_event_month_comparator ((SidebarEntry*) a, (SidebarEntry*) b);
+#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2216 "Branch.c"
+}
+
+
+static void events_branch_add_event (EventsBranch* self, Event* event) {
+ time_t event_time = 0;
+ Event* _tmp0_ = NULL;
+ time_t _tmp1_ = 0;
+ time_t _tmp2_ = 0;
+ struct tm event_tm = {0};
+ time_t _tmp4_ = 0;
+ struct tm _tmp5_ = {0};
+ SidebarEntry* year = NULL;
+ SidebarEntry* month = NULL;
+ Event* _tmp6_ = NULL;
+ struct tm _tmp7_ = {0};
+ SidebarEntry* _tmp8_ = NULL;
+ SidebarEntry* _tmp9_ = NULL;
+ SidebarEntry* _tmp10_ = NULL;
+ SidebarEntry* _tmp13_ = NULL;
+ gchar* _tmp21_ = NULL;
+ gchar* _tmp22_ = NULL;
+ struct tm _tmp23_ = {0};
+ EventsMonthDirectoryEntry* _tmp24_ = NULL;
+ SidebarEntry* _tmp25_ = NULL;
+ SidebarEntry* _tmp26_ = NULL;
+ SidebarEntry* _tmp27_ = NULL;
+ Event* _tmp28_ = NULL;
+#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 217 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event;
+#line 217 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource));
+#line 217 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event_time = _tmp1_;
+#line 218 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = event_time;
+#line 218 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp2_ == ((time_t) 0)) {
+#line 2258 "Branch.c"
+ Event* _tmp3_ = NULL;
+#line 219 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = event;
+#line 219 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_add_undated_event (self, _tmp3_);
+#line 221 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return;
+#line 2266 "Branch.c"
+ }
+#line 224 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = event_time;
+#line 224 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_time_local (_tmp4_, &_tmp5_);
+#line 224 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event_tm = _tmp5_;
+#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = event;
+#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = event_tm;
+#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = events_branch_find_event_month (self, _tmp6_, &_tmp7_, &_tmp8_);
+#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ year = _tmp8_;
+#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ month = _tmp9_;
+#line 228 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = month;
+#line 228 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp10_ != NULL) {
+#line 2290 "Branch.c"
+ SidebarEntry* _tmp11_ = NULL;
+ Event* _tmp12_ = NULL;
+#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = month;
+#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = event;
+#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_graft_event (self, _tmp11_, _tmp12_, _events_branch_event_comparator_gcompare_func);
+#line 231 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (month);
+#line 231 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 231 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return;
+#line 2305 "Branch.c"
+ }
+#line 234 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = year;
+#line 234 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp13_ == NULL) {
+#line 2311 "Branch.c"
+ gchar* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ struct tm _tmp16_ = {0};
+ EventsYearDirectoryEntry* _tmp17_ = NULL;
+ SidebarEntry* _tmp18_ = NULL;
+ SidebarEntry* _tmp19_ = NULL;
+ SidebarEntry* _tmp20_ = NULL;
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT);
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = _tmp14_;
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = event_tm;
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = events_year_directory_entry_new (_tmp15_, &_tmp16_);
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ year = G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
+#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp15_);
+#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = _tmp18_;
+#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = year;
+#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp19_, _tmp20_, _events_branch_event_month_comparator_gcompare_func);
+#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp19_);
+#line 2343 "Branch.c"
+ }
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT);
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp22_ = _tmp21_;
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp23_ = event_tm;
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp24_ = events_month_directory_entry_new (_tmp22_, &_tmp23_);
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (month);
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ month = G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
+#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp22_);
+#line 242 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp25_ = year;
+#line 242 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp26_ = month;
+#line 242 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp25_, _tmp26_, _events_branch_event_comparator_gcompare_func);
+#line 244 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp27_ = month;
+#line 244 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp28_ = event;
+#line 244 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_graft_event (self, _tmp27_, _tmp28_, _events_branch_event_comparator_gcompare_func);
+#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (month);
+#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 2375 "Branch.c"
+}
+
+
+static void events_branch_move_event (EventsBranch* self, Event* event) {
+ time_t event_time = 0;
+ Event* _tmp0_ = NULL;
+ time_t _tmp1_ = 0;
+ time_t _tmp2_ = 0;
+ struct tm event_tm = {0};
+ time_t _tmp4_ = 0;
+ struct tm _tmp5_ = {0};
+ SidebarEntry* year = NULL;
+ SidebarEntry* month = NULL;
+ Event* _tmp6_ = NULL;
+ struct tm _tmp7_ = {0};
+ SidebarEntry* _tmp8_ = NULL;
+ SidebarEntry* _tmp9_ = NULL;
+ SidebarEntry* _tmp10_ = NULL;
+ SidebarEntry* _tmp18_ = NULL;
+ Event* _tmp25_ = NULL;
+ SidebarEntry* _tmp26_ = NULL;
+#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 248 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event;
+#line 248 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource));
+#line 248 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event_time = _tmp1_;
+#line 249 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = event_time;
+#line 249 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp2_ == ((time_t) 0)) {
+#line 2411 "Branch.c"
+ Event* _tmp3_ = NULL;
+#line 250 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = event;
+#line 250 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_move_to_undated_event (self, _tmp3_);
+#line 252 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return;
+#line 2419 "Branch.c"
+ }
+#line 255 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = event_time;
+#line 255 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_time_local (_tmp4_, &_tmp5_);
+#line 255 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ event_tm = _tmp5_;
+#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = event;
+#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = event_tm;
+#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = events_branch_find_event_month (self, _tmp6_, &_tmp7_, &_tmp8_);
+#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ year = _tmp8_;
+#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ month = _tmp9_;
+#line 260 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = year;
+#line 260 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp10_ == NULL) {
+#line 2443 "Branch.c"
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ struct tm _tmp13_ = {0};
+ EventsYearDirectoryEntry* _tmp14_ = NULL;
+ SidebarEntry* _tmp15_ = NULL;
+ SidebarEntry* _tmp16_ = NULL;
+ SidebarEntry* _tmp17_ = NULL;
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT);
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = _tmp11_;
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = event_tm;
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = events_year_directory_entry_new (_tmp12_, &_tmp13_);
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ year = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
+#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp12_);
+#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = _tmp15_;
+#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = year;
+#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp16_, _tmp17_, _events_branch_event_month_comparator_gcompare_func);
+#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp16_);
+#line 2475 "Branch.c"
+ }
+#line 266 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = month;
+#line 266 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp18_ == NULL) {
+#line 2481 "Branch.c"
+ gchar* _tmp19_ = NULL;
+ gchar* _tmp20_ = NULL;
+ struct tm _tmp21_ = {0};
+ EventsMonthDirectoryEntry* _tmp22_ = NULL;
+ SidebarEntry* _tmp23_ = NULL;
+ SidebarEntry* _tmp24_ = NULL;
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT);
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = _tmp19_;
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = event_tm;
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp22_ = events_month_directory_entry_new (_tmp20_, &_tmp21_);
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (month);
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ month = G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
+#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (_tmp20_);
+#line 269 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp23_ = year;
+#line 269 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp24_ = month;
+#line 269 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp23_, _tmp24_, _events_branch_event_comparator_gcompare_func);
+#line 2508 "Branch.c"
+ }
+#line 272 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp25_ = event;
+#line 272 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp26_ = month;
+#line 272 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_reparent_event (self, _tmp25_, _tmp26_);
+#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (month);
+#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (year);
+#line 2520 "Branch.c"
+}
+
+
+static void events_branch_remove_event (EventsBranch* self, Event* event) {
+ SidebarEntry* entry = NULL;
+ gboolean removed = FALSE;
+ GeeHashMap* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ gpointer _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ SidebarEntry* parent = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+ SidebarEntry* _tmp6_ = NULL;
+ SidebarEntry* _tmp7_ = NULL;
+ SidebarEntry* _tmp8_ = NULL;
+#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->entry_map;
+#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event;
+#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, &_tmp2_);
+#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (entry);
+#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ entry = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
+#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ removed = _tmp3_;
+#line 280 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = removed;
+#line 280 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp4_, "removed");
+#line 282 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = entry;
+#line 282 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_);
+#line 282 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ parent = _tmp6_;
+#line 283 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = parent;
+#line 283 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp7_ != NULL, "parent != null");
+#line 285 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = entry;
+#line 285 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp8_);
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 2573 "Branch.c"
+ gboolean _tmp9_ = FALSE;
+ SidebarEntry* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+ SidebarEntry* grandparent = NULL;
+ SidebarEntry* _tmp15_ = NULL;
+ SidebarEntry* _tmp16_ = NULL;
+ SidebarEntry* _tmp17_ = NULL;
+ SidebarEntry* _tmp18_ = NULL;
+ SidebarEntry* _tmp19_ = NULL;
+ SidebarEntry* _tmp20_ = NULL;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = parent;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp10_);
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp11_ == 0) {
+#line 2590 "Branch.c"
+ SidebarEntry* _tmp12_ = NULL;
+ SidebarEntry* _tmp13_ = NULL;
+ SidebarEntry* _tmp14_ = NULL;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = parent;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = _tmp12_ != _tmp14_;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp14_);
+#line 2604 "Branch.c"
+ } else {
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = FALSE;
+#line 2608 "Branch.c"
+ }
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp9_) {
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 2614 "Branch.c"
+ }
+#line 289 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = parent;
+#line 289 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp15_);
+#line 289 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ grandparent = _tmp16_;
+#line 290 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = grandparent;
+#line 290 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp17_ != NULL, "grandparent != null");
+#line 292 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = parent;
+#line 292 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp18_);
+#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = grandparent;
+#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = _g_object_ref0 (_tmp19_);
+#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (parent);
+#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ parent = _tmp20_;
+#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (grandparent);
+#line 2640 "Branch.c"
+ }
+#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (parent);
+#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (entry);
+#line 2646 "Branch.c"
+}
+
+
+static Block7Data* block7_data_ref (Block7Data* _data7_) {
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_atomic_int_inc (&_data7_->_ref_count_);
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return _data7_;
+#line 2655 "Branch.c"
+}
+
+
+static void block7_data_unref (void * _userdata_) {
+ Block7Data* _data7_;
+ _data7_ = (Block7Data*) _userdata_;
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (g_atomic_int_dec_and_test (&_data7_->_ref_count_)) {
+#line 2664 "Branch.c"
+ EventsBranch* self;
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = _data7_->self;
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self);
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_slice_free (Block7Data, _data7_);
+#line 2672 "Branch.c"
+ }
+}
+
+
+static gboolean __lambda17_ (Block7Data* _data7_, SidebarEntry* entry) {
+ EventsBranch* self;
+ gboolean result = FALSE;
+ SidebarEntry* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = _data7_->self;
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE);
+#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = entry;
+#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry));
+#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = _data7_->event_month;
+#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_ == _tmp2_;
+#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2697 "Branch.c"
+}
+
+
+static gboolean ___lambda17__locator (gconstpointer item, gpointer self) {
+ gboolean result;
+ result = __lambda17_ (self, (SidebarEntry*) item);
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2706 "Branch.c"
+}
+
+
+static SidebarEntry* events_branch_find_event_month (EventsBranch* self, Event* event, struct tm* event_tm, SidebarEntry** found_year) {
+ SidebarEntry* _vala_found_year = NULL;
+ SidebarEntry* result = NULL;
+ Block7Data* _data7_;
+ Event* _tmp0_ = NULL;
+ struct tm _tmp1_ = {0};
+ SidebarEntry* _tmp2_ = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ struct tm _tmp4_ = {0};
+ gint _tmp5_ = 0;
+ SidebarEntry* _tmp6_ = NULL;
+ SidebarEntry* _tmp7_ = NULL;
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (IS_EVENT (event), NULL);
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (event_tm != NULL, NULL);
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data7_ = g_slice_new0 (Block7Data);
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data7_->_ref_count_ = 1;
+#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data7_->self = g_object_ref (self);
+#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event;
+#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = *event_tm;
+#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = events_branch_find_event_year (self, _tmp0_, &_tmp1_);
+#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_vala_found_year);
+#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_found_year = _tmp2_;
+#line 301 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _vala_found_year;
+#line 301 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp3_ == NULL) {
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = NULL;
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ block7_data_unref (_data7_);
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data7_ = NULL;
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (found_year) {
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ *found_year = _vala_found_year;
+#line 2758 "Branch.c"
+ } else {
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_vala_found_year);
+#line 2762 "Branch.c"
+ }
+#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2766 "Branch.c"
+ }
+#line 304 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = *event_tm;
+#line 304 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = _tmp4_.tm_mon;
+#line 304 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data7_->event_month = _tmp5_ + 1;
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = _vala_found_year;
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = sidebar_branch_find_first_child (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp6_, ___lambda17__locator, _data7_);
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp7_;
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ block7_data_unref (_data7_);
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data7_ = NULL;
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (found_year) {
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ *found_year = _vala_found_year;
+#line 2788 "Branch.c"
+ } else {
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_vala_found_year);
+#line 2792 "Branch.c"
+ }
+#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2796 "Branch.c"
+}
+
+
+static Block8Data* block8_data_ref (Block8Data* _data8_) {
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_atomic_int_inc (&_data8_->_ref_count_);
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return _data8_;
+#line 2805 "Branch.c"
+}
+
+
+static void block8_data_unref (void * _userdata_) {
+ Block8Data* _data8_;
+ _data8_ = (Block8Data*) _userdata_;
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (g_atomic_int_dec_and_test (&_data8_->_ref_count_)) {
+#line 2814 "Branch.c"
+ EventsBranch* self;
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = _data8_->self;
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self);
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_slice_free (Block8Data, _data8_);
+#line 2822 "Branch.c"
+ }
+}
+
+
+static gboolean __lambda16_ (Block8Data* _data8_, SidebarEntry* entry) {
+ EventsBranch* self;
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ SidebarEntry* _tmp2_ = NULL;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = _data8_->self;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE);
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = entry;
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) {
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = TRUE;
+#line 2843 "Branch.c"
+ } else {
+ SidebarEntry* _tmp3_ = NULL;
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = entry;
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, EVENTS_TYPE_NO_EVENT_ENTRY);
+#line 2850 "Branch.c"
+ }
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp1_) {
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = TRUE;
+#line 2856 "Branch.c"
+ } else {
+ SidebarEntry* _tmp4_ = NULL;
+#line 317 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = entry;
+#line 317 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY);
+#line 2863 "Branch.c"
+ }
+#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_) {
+#line 318 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = FALSE;
+#line 318 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2871 "Branch.c"
+ } else {
+ SidebarEntry* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = entry;
+#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry));
+#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp6_ == _data8_->event_year;
+#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2883 "Branch.c"
+ }
+}
+
+
+static gboolean ___lambda16__locator (gconstpointer item, gpointer self) {
+ gboolean result;
+ result = __lambda16_ (self, (SidebarEntry*) item);
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2893 "Branch.c"
+}
+
+
+static SidebarEntry* events_branch_find_event_year (EventsBranch* self, Event* event, struct tm* event_tm) {
+ SidebarEntry* result = NULL;
+ Block8Data* _data8_;
+ struct tm _tmp0_ = {0};
+ gint _tmp1_ = 0;
+ SidebarEntry* _tmp2_ = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (IS_EVENT (event), NULL);
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (event_tm != NULL, NULL);
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data8_ = g_slice_new0 (Block8Data);
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data8_->_ref_count_ = 1;
+#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data8_->self = g_object_ref (self);
+#line 313 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = *event_tm;
+#line 313 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _tmp0_.tm_year;
+#line 313 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data8_->event_year = _tmp1_ + 1900;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = sidebar_branch_find_first_child (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, ___lambda16__locator, _data8_);
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp3_);
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp5_;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ block8_data_unref (_data8_);
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _data8_ = NULL;
+#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2942 "Branch.c"
+}
+
+
+static gint _events_branch_undated_event_comparator_gcompare_func (gconstpointer a, gconstpointer b) {
+ gint result;
+ result = events_branch_undated_event_comparator ((SidebarEntry*) a, (SidebarEntry*) b);
+#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 2951 "Branch.c"
+}
+
+
+static void events_branch_add_undated_event (EventsBranch* self, Event* event) {
+ EventsUndatedDirectoryEntry* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ EventsUndatedDirectoryEntry* _tmp5_ = NULL;
+ Event* _tmp6_ = NULL;
+#line 324 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 324 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 325 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->undated_entry;
+#line 325 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 325 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp1_) {
+#line 2970 "Branch.c"
+ SidebarEntry* _tmp2_ = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ EventsUndatedDirectoryEntry* _tmp4_ = NULL;
+#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = self->priv->undated_entry;
+#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _events_branch_undated_event_comparator_gcompare_func);
+#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp3_);
+#line 2984 "Branch.c"
+ }
+#line 328 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = self->priv->undated_entry;
+#line 328 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = event;
+#line 328 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_graft_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _tmp6_, NULL);
+#line 2992 "Branch.c"
+}
+
+
+static void events_branch_move_to_undated_event (EventsBranch* self, Event* event) {
+ EventsUndatedDirectoryEntry* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ Event* _tmp5_ = NULL;
+ EventsUndatedDirectoryEntry* _tmp6_ = NULL;
+#line 331 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 331 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 332 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->undated_entry;
+#line 332 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 332 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp1_) {
+#line 3011 "Branch.c"
+ SidebarEntry* _tmp2_ = NULL;
+ SidebarEntry* _tmp3_ = NULL;
+ EventsUndatedDirectoryEntry* _tmp4_ = NULL;
+#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = self->priv->undated_entry;
+#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL);
+#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp3_);
+#line 3025 "Branch.c"
+ }
+#line 335 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = event;
+#line 335 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = self->priv->undated_entry;
+#line 335 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_reparent_event (self, _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 3033 "Branch.c"
+}
+
+
+static void events_branch_graft_event (EventsBranch* self, SidebarEntry* parent, Event* event, GCompareFunc comparator) {
+ EventsEventEntry* entry = NULL;
+ Event* _tmp0_ = NULL;
+ EventsEventEntry* _tmp1_ = NULL;
+ GeeHashMap* _tmp2_ = NULL;
+ Event* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ GCompareFunc _tmp5_ = NULL;
+#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (SIDEBAR_IS_ENTRY (parent));
+#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 340 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event;
+#line 340 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = events_event_entry_new (_tmp0_);
+#line 340 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ entry = _tmp1_;
+#line 341 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = self->priv->entry_map;
+#line 341 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = event;
+#line 341 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, entry);
+#line 343 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = parent;
+#line 343 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = comparator;
+#line 343 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry), _tmp5_);
+#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (entry);
+#line 3071 "Branch.c"
+}
+
+
+static void events_branch_reparent_event (EventsBranch* self, Event* event, SidebarEntry* new_parent) {
+ EventsEventEntry* entry = NULL;
+ GeeHashMap* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ gpointer _tmp2_ = NULL;
+ EventsEventEntry* _tmp3_ = NULL;
+ SidebarEntry* old_parent = NULL;
+ EventsEventEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+ SidebarEntry* _tmp6_ = NULL;
+ SidebarEntry* _tmp7_ = NULL;
+ EventsEventEntry* _tmp8_ = NULL;
+#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (IS_EVENT (event));
+#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (SIDEBAR_IS_ENTRY (new_parent));
+#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->entry_map;
+#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event;
+#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ entry = (EventsEventEntry*) _tmp2_;
+#line 348 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = entry;
+#line 348 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp3_ != NULL, "entry != null");
+#line 350 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = entry;
+#line 350 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 350 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ old_parent = _tmp5_;
+#line 351 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = old_parent;
+#line 351 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp6_ != NULL, "old_parent != null");
+#line 353 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = new_parent;
+#line 353 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = entry;
+#line 353 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_reparent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 3123 "Branch.c"
+ gboolean _tmp9_ = FALSE;
+ SidebarEntry* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+ SidebarEntry* grandparent = NULL;
+ SidebarEntry* _tmp15_ = NULL;
+ SidebarEntry* _tmp16_ = NULL;
+ SidebarEntry* _tmp17_ = NULL;
+ SidebarEntry* _tmp18_ = NULL;
+ SidebarEntry* _tmp19_ = NULL;
+ SidebarEntry* _tmp20_ = NULL;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = old_parent;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp10_);
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp11_ == 0) {
+#line 3140 "Branch.c"
+ SidebarEntry* _tmp12_ = NULL;
+ SidebarEntry* _tmp13_ = NULL;
+ SidebarEntry* _tmp14_ = NULL;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = old_parent;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = _tmp12_ != _tmp14_;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp14_);
+#line 3154 "Branch.c"
+ } else {
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = FALSE;
+#line 3158 "Branch.c"
+ }
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp9_) {
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 3164 "Branch.c"
+ }
+#line 356 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = old_parent;
+#line 356 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp15_);
+#line 356 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ grandparent = _tmp16_;
+#line 357 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = grandparent;
+#line 357 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _vala_assert (_tmp17_ != NULL, "grandparent != null");
+#line 359 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = old_parent;
+#line 359 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp18_);
+#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = grandparent;
+#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = _g_object_ref0 (_tmp19_);
+#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (old_parent);
+#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ old_parent = _tmp20_;
+#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (grandparent);
+#line 3190 "Branch.c"
+ }
+#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (old_parent);
+#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (entry);
+#line 3196 "Branch.c"
+}
+
+
+static void events_branch_show_no_events (EventsBranch* self, gboolean show) {
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+#line 365 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (EVENTS_IS_BRANCH (self));
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = show;
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp1_) {
+#line 3209 "Branch.c"
+ EventsNoEventEntry* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = self->priv->no_event_entry;
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = !_tmp3_;
+#line 3218 "Branch.c"
+ } else {
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = FALSE;
+#line 3222 "Branch.c"
+ }
+#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp0_) {
+#line 3226 "Branch.c"
+ SidebarEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+ EventsNoEventEntry* _tmp6_ = NULL;
+#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = self->priv->no_event_entry;
+#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL);
+#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp5_);
+#line 3240 "Branch.c"
+ } else {
+ gboolean _tmp7_ = FALSE;
+ gboolean _tmp8_ = FALSE;
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = show;
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!_tmp8_) {
+#line 3248 "Branch.c"
+ EventsNoEventEntry* _tmp9_ = NULL;
+ gboolean _tmp10_ = FALSE;
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = self->priv->no_event_entry;
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = _tmp10_;
+#line 3257 "Branch.c"
+ } else {
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = FALSE;
+#line 3261 "Branch.c"
+ }
+#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp7_) {
+#line 3265 "Branch.c"
+ EventsNoEventEntry* _tmp11_ = NULL;
+#line 369 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = self->priv->no_event_entry;
+#line 369 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 3271 "Branch.c"
+ }
+ }
+}
+
+
+static void events_branch_class_init (EventsBranchClass * klass) {
+ gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_type_class_add_private (klass, sizeof (EventsBranchPrivate));
+#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = events_branch_finalize;
+#line 8 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = g_strdup (RESOURCES_ICON_FOLDER);
+#line 8 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_icon = _tmp0_;
+#line 9 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (RESOURCES_ICON_EVENTS);
+#line 9 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_events_icon = _tmp1_;
+#line 10 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = g_strdup (RESOURCES_ICON_ONE_EVENT);
+#line 10 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_single_event_icon = _tmp2_;
+#line 11 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = g_strdup (RESOURCES_ICON_NO_EVENT);
+#line 11 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_branch_no_event_icon = _tmp3_;
+#line 3304 "Branch.c"
+}
+
+
+static void events_branch_instance_init (EventsBranch * self) {
+ GeeHashMap* _tmp0_ = NULL;
+ EventsUndatedDirectoryEntry* _tmp1_ = NULL;
+ EventsNoEventEntry* _tmp2_ = NULL;
+ EventsMasterDirectoryEntry* _tmp3_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv = EVENTS_BRANCH_GET_PRIVATE (self);
+#line 18 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = gee_hash_map_new (TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, g_object_unref, EVENTS_TYPE_EVENT_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 18 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->entry_map = _tmp0_;
+#line 20 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = events_undated_directory_entry_new ();
+#line 20 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->undated_entry = _tmp1_;
+#line 21 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = events_no_event_entry_new ();
+#line 21 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->no_event_entry = _tmp2_;
+#line 22 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = events_master_directory_entry_new ();
+#line 22 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->all_events_entry = _tmp3_;
+#line 3331 "Branch.c"
+}
+
+
+static void events_branch_finalize (GObject* obj) {
+ EventsBranch * self;
+ EventSourceCollection* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ EventSourceCollection* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+ EventSourceCollection* _tmp4_ = NULL;
+ guint _tmp5_ = 0U;
+ ConfigFacade* _tmp6_ = NULL;
+ ConfigFacade* _tmp7_ = NULL;
+ guint _tmp8_ = 0U;
+#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_BRANCH, EventsBranch);
+#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event_global;
+#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE);
+#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _events_branch_on_events_added_removed_data_collection_contents_altered, self);
+#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = event_global;
+#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE);
+#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _events_branch_on_events_altered_data_collection_items_altered, self);
+#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = event_global;
+#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_parse_name ("no-event-collection-altered", TYPE_EVENT_SOURCE_COLLECTION, &_tmp5_, NULL, FALSE);
+#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered, self);
+#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = config_facade_get_instance ();
+#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = _tmp6_;
+#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_parse_name ("events-sort-ascending-changed", TYPE_CONFIGURATION_FACADE, &_tmp8_, NULL, FALSE);
+#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed, self);
+#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp7_);
+#line 18 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self->priv->entry_map);
+#line 20 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self->priv->undated_entry);
+#line 21 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self->priv->no_event_entry);
+#line 22 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self->priv->all_events_entry);
+#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (events_branch_parent_class)->finalize (obj);
+#line 3386 "Branch.c"
+}
+
+
+GType events_branch_get_type (void) {
+ static volatile gsize events_branch_type_id__volatile = 0;
+ if (g_once_init_enter (&events_branch_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsBranch), 0, (GInstanceInitFunc) events_branch_instance_init, NULL };
+ GType events_branch_type_id;
+ events_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "EventsBranch", &g_define_type_info, 0);
+ g_once_init_leave (&events_branch_type_id__volatile, events_branch_type_id);
+ }
+ return events_branch_type_id__volatile;
+}
+
+
+EventsDirectoryEntry* events_directory_entry_construct (GType object_type) {
+ EventsDirectoryEntry * self = NULL;
+#line 374 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsDirectoryEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 374 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 3408 "Branch.c"
+}
+
+
+static gchar* events_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ EventsDirectoryEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 377 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry);
+#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = events_branch_icon;
+#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3427 "Branch.c"
+}
+
+
+static gboolean events_directory_entry_real_expand_on_select (SidebarExpandableEntry* base) {
+ EventsDirectoryEntry * self;
+ gboolean result = FALSE;
+#line 381 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry);
+#line 382 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = TRUE;
+#line 382 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3440 "Branch.c"
+}
+
+
+static void events_directory_entry_class_init (EventsDirectoryEntryClass * klass) {
+#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_directory_entry_parent_class = g_type_class_peek_parent (klass);
+#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_directory_entry_real_get_sidebar_icon;
+#line 3449 "Branch.c"
+}
+
+
+static void events_directory_entry_sidebar_expandable_entry_interface_init (SidebarExpandableEntryIface * iface) {
+#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_directory_entry_sidebar_expandable_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ iface->expand_on_select = (gboolean (*)(SidebarExpandableEntry*)) events_directory_entry_real_expand_on_select;
+#line 3458 "Branch.c"
+}
+
+
+static void events_directory_entry_instance_init (EventsDirectoryEntry * self) {
+}
+
+
+GType events_directory_entry_get_type (void) {
+ static volatile gsize events_directory_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_directory_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryEntry), 0, (GInstanceInitFunc) events_directory_entry_instance_init, NULL };
+ static const GInterfaceInfo sidebar_expandable_entry_info = { (GInterfaceInitFunc) events_directory_entry_sidebar_expandable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ GType events_directory_entry_type_id;
+ events_directory_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "EventsDirectoryEntry", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_type_add_interface_static (events_directory_entry_type_id, SIDEBAR_TYPE_EXPANDABLE_ENTRY, &sidebar_expandable_entry_info);
+ g_once_init_leave (&events_directory_entry_type_id__volatile, events_directory_entry_type_id);
+ }
+ return events_directory_entry_type_id__volatile;
+}
+
+
+EventsMasterDirectoryEntry* events_master_directory_entry_construct (GType object_type) {
+ EventsMasterDirectoryEntry * self = NULL;
+#line 387 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsMasterDirectoryEntry*) events_directory_entry_construct (object_type);
+#line 387 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 3486 "Branch.c"
+}
+
+
+EventsMasterDirectoryEntry* events_master_directory_entry_new (void) {
+#line 387 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_master_directory_entry_construct (EVENTS_TYPE_MASTER_DIRECTORY_ENTRY);
+#line 3493 "Branch.c"
+}
+
+
+static gchar* events_master_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ EventsMasterDirectoryEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 390 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry);
+#line 391 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = g_strdup (MASTER_EVENTS_DIRECTORY_PAGE_NAME);
+#line 391 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp0_;
+#line 391 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3509 "Branch.c"
+}
+
+
+static gchar* events_master_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ EventsMasterDirectoryEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 394 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry);
+#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = events_branch_events_icon;
+#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3528 "Branch.c"
+}
+
+
+static Page* events_master_directory_entry_real_create_page (SidebarSimplePageEntry* base) {
+ EventsMasterDirectoryEntry * self;
+ Page* result = NULL;
+ MasterEventsDirectoryPage* _tmp0_ = NULL;
+#line 398 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry);
+#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = master_events_directory_page_new ();
+#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_object_ref_sink (_tmp0_);
+#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3546 "Branch.c"
+}
+
+
+static void events_master_directory_entry_class_init (EventsMasterDirectoryEntryClass * klass) {
+#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_master_directory_entry_parent_class = g_type_class_peek_parent (klass);
+#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_master_directory_entry_real_get_sidebar_name;
+#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_master_directory_entry_real_get_sidebar_icon;
+#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = events_master_directory_entry_real_create_page;
+#line 3559 "Branch.c"
+}
+
+
+static void events_master_directory_entry_instance_init (EventsMasterDirectoryEntry * self) {
+}
+
+
+GType events_master_directory_entry_get_type (void) {
+ static volatile gsize events_master_directory_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_master_directory_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsMasterDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_master_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsMasterDirectoryEntry), 0, (GInstanceInitFunc) events_master_directory_entry_instance_init, NULL };
+ GType events_master_directory_entry_type_id;
+ events_master_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsMasterDirectoryEntry", &g_define_type_info, 0);
+ g_once_init_leave (&events_master_directory_entry_type_id__volatile, events_master_directory_entry_type_id);
+ }
+ return events_master_directory_entry_type_id__volatile;
+}
+
+
+EventsYearDirectoryEntry* events_year_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm) {
+ EventsYearDirectoryEntry * self = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ struct tm _tmp2_ = {0};
+#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (tm != NULL, NULL);
+#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsYearDirectoryEntry*) events_directory_entry_construct (object_type);
+#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = name;
+#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (self->priv->name);
+#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->name = _tmp1_;
+#line 409 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = *tm;
+#line 409 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->tm = _tmp2_;
+#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 3604 "Branch.c"
+}
+
+
+EventsYearDirectoryEntry* events_year_directory_entry_new (const gchar* name, struct tm* tm) {
+#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_year_directory_entry_construct (EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, name, tm);
+#line 3611 "Branch.c"
+}
+
+
+static gchar* events_year_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ EventsYearDirectoryEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 412 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry);
+#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->name;
+#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3630 "Branch.c"
+}
+
+
+gint events_year_directory_entry_get_year (EventsYearDirectoryEntry* self) {
+ gint result = 0;
+ struct tm _tmp0_ = {0};
+ gint _tmp1_ = 0;
+#line 416 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_YEAR_DIRECTORY_ENTRY (self), 0);
+#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->tm;
+#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _tmp0_.tm_year;
+#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_ + 1900;
+#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3648 "Branch.c"
+}
+
+
+static Page* events_year_directory_entry_real_create_page (SidebarSimplePageEntry* base) {
+ EventsYearDirectoryEntry * self;
+ Page* result = NULL;
+ struct tm _tmp0_ = {0};
+ SubEventsDirectoryPage* _tmp1_ = NULL;
+#line 420 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry);
+#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->tm;
+#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, &_tmp0_);
+#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_object_ref_sink (_tmp1_);
+#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
+#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3669 "Branch.c"
+}
+
+
+static void events_year_directory_entry_class_init (EventsYearDirectoryEntryClass * klass) {
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_year_directory_entry_parent_class = g_type_class_peek_parent (klass);
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_type_class_add_private (klass, sizeof (EventsYearDirectoryEntryPrivate));
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_year_directory_entry_real_get_sidebar_name;
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = events_year_directory_entry_real_create_page;
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = events_year_directory_entry_finalize;
+#line 3684 "Branch.c"
+}
+
+
+static void events_year_directory_entry_instance_init (EventsYearDirectoryEntry * self) {
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv = EVENTS_YEAR_DIRECTORY_ENTRY_GET_PRIVATE (self);
+#line 3691 "Branch.c"
+}
+
+
+static void events_year_directory_entry_finalize (GObject* obj) {
+ EventsYearDirectoryEntry * self;
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry);
+#line 404 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (self->priv->name);
+#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (events_year_directory_entry_parent_class)->finalize (obj);
+#line 3703 "Branch.c"
+}
+
+
+GType events_year_directory_entry_get_type (void) {
+ static volatile gsize events_year_directory_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_year_directory_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsYearDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_year_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsYearDirectoryEntry), 0, (GInstanceInitFunc) events_year_directory_entry_instance_init, NULL };
+ GType events_year_directory_entry_type_id;
+ events_year_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsYearDirectoryEntry", &g_define_type_info, 0);
+ g_once_init_leave (&events_year_directory_entry_type_id__volatile, events_year_directory_entry_type_id);
+ }
+ return events_year_directory_entry_type_id__volatile;
+}
+
+
+EventsMonthDirectoryEntry* events_month_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm) {
+ EventsMonthDirectoryEntry * self = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ struct tm _tmp2_ = {0};
+#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (tm != NULL, NULL);
+#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsMonthDirectoryEntry*) events_directory_entry_construct (object_type);
+#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = name;
+#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (self->priv->name);
+#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->name = _tmp1_;
+#line 431 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = *tm;
+#line 431 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->tm = _tmp2_;
+#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 3744 "Branch.c"
+}
+
+
+EventsMonthDirectoryEntry* events_month_directory_entry_new (const gchar* name, struct tm* tm) {
+#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_month_directory_entry_construct (EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, name, tm);
+#line 3751 "Branch.c"
+}
+
+
+static gchar* events_month_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ EventsMonthDirectoryEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 434 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry);
+#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->name;
+#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3770 "Branch.c"
+}
+
+
+gint events_month_directory_entry_get_year (EventsMonthDirectoryEntry* self) {
+ gint result = 0;
+ struct tm _tmp0_ = {0};
+ gint _tmp1_ = 0;
+#line 438 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_MONTH_DIRECTORY_ENTRY (self), 0);
+#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->tm;
+#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _tmp0_.tm_year;
+#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_ + 1900;
+#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3788 "Branch.c"
+}
+
+
+gint events_month_directory_entry_get_month (EventsMonthDirectoryEntry* self) {
+ gint result = 0;
+ struct tm _tmp0_ = {0};
+ gint _tmp1_ = 0;
+#line 442 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_MONTH_DIRECTORY_ENTRY (self), 0);
+#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->tm;
+#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _tmp0_.tm_mon;
+#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_ + 1;
+#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3806 "Branch.c"
+}
+
+
+static Page* events_month_directory_entry_real_create_page (SidebarSimplePageEntry* base) {
+ EventsMonthDirectoryEntry * self;
+ Page* result = NULL;
+ struct tm _tmp0_ = {0};
+ SubEventsDirectoryPage* _tmp1_ = NULL;
+#line 446 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry);
+#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->tm;
+#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, &_tmp0_);
+#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_object_ref_sink (_tmp1_);
+#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
+#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3827 "Branch.c"
+}
+
+
+static void events_month_directory_entry_class_init (EventsMonthDirectoryEntryClass * klass) {
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_month_directory_entry_parent_class = g_type_class_peek_parent (klass);
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_type_class_add_private (klass, sizeof (EventsMonthDirectoryEntryPrivate));
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_month_directory_entry_real_get_sidebar_name;
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = events_month_directory_entry_real_create_page;
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = events_month_directory_entry_finalize;
+#line 3842 "Branch.c"
+}
+
+
+static void events_month_directory_entry_instance_init (EventsMonthDirectoryEntry * self) {
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv = EVENTS_MONTH_DIRECTORY_ENTRY_GET_PRIVATE (self);
+#line 3849 "Branch.c"
+}
+
+
+static void events_month_directory_entry_finalize (GObject* obj) {
+ EventsMonthDirectoryEntry * self;
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry);
+#line 426 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (self->priv->name);
+#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (events_month_directory_entry_parent_class)->finalize (obj);
+#line 3861 "Branch.c"
+}
+
+
+GType events_month_directory_entry_get_type (void) {
+ static volatile gsize events_month_directory_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_month_directory_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsMonthDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_month_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsMonthDirectoryEntry), 0, (GInstanceInitFunc) events_month_directory_entry_instance_init, NULL };
+ GType events_month_directory_entry_type_id;
+ events_month_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsMonthDirectoryEntry", &g_define_type_info, 0);
+ g_once_init_leave (&events_month_directory_entry_type_id__volatile, events_month_directory_entry_type_id);
+ }
+ return events_month_directory_entry_type_id__volatile;
+}
+
+
+EventsUndatedDirectoryEntry* events_undated_directory_entry_construct (GType object_type) {
+ EventsUndatedDirectoryEntry * self = NULL;
+#line 452 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsUndatedDirectoryEntry*) events_directory_entry_construct (object_type);
+#line 452 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 3883 "Branch.c"
+}
+
+
+EventsUndatedDirectoryEntry* events_undated_directory_entry_new (void) {
+#line 452 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_undated_directory_entry_construct (EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY);
+#line 3890 "Branch.c"
+}
+
+
+static gchar* events_undated_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ EventsUndatedDirectoryEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 455 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry);
+#line 456 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = g_strdup (SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME);
+#line 456 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp0_;
+#line 456 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3906 "Branch.c"
+}
+
+
+static Page* events_undated_directory_entry_real_create_page (SidebarSimplePageEntry* base) {
+ EventsUndatedDirectoryEntry * self;
+ Page* result = NULL;
+ struct tm _tmp0_ = {0};
+ SubEventsDirectoryPage* _tmp1_ = NULL;
+#line 459 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry);
+#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_time_local ((time_t) 0, &_tmp0_);
+#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED, &_tmp0_);
+#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_object_ref_sink (_tmp1_);
+#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
+#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 3927 "Branch.c"
+}
+
+
+static void events_undated_directory_entry_class_init (EventsUndatedDirectoryEntryClass * klass) {
+#line 451 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_undated_directory_entry_parent_class = g_type_class_peek_parent (klass);
+#line 451 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_undated_directory_entry_real_get_sidebar_name;
+#line 451 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = events_undated_directory_entry_real_create_page;
+#line 3938 "Branch.c"
+}
+
+
+static void events_undated_directory_entry_instance_init (EventsUndatedDirectoryEntry * self) {
+}
+
+
+GType events_undated_directory_entry_get_type (void) {
+ static volatile gsize events_undated_directory_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_undated_directory_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsUndatedDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_undated_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsUndatedDirectoryEntry), 0, (GInstanceInitFunc) events_undated_directory_entry_instance_init, NULL };
+ GType events_undated_directory_entry_type_id;
+ events_undated_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsUndatedDirectoryEntry", &g_define_type_info, 0);
+ g_once_init_leave (&events_undated_directory_entry_type_id__volatile, events_undated_directory_entry_type_id);
+ }
+ return events_undated_directory_entry_type_id__volatile;
+}
+
+
+EventsEventEntry* events_event_entry_construct (GType object_type, Event* event) {
+ EventsEventEntry * self = NULL;
+ Event* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (IS_EVENT (event), NULL);
+#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsEventEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = event;
+#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self->priv->event);
+#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv->event = _tmp1_;
+#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 3976 "Branch.c"
+}
+
+
+EventsEventEntry* events_event_entry_new (Event* event) {
+#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_event_entry_construct (EVENTS_TYPE_EVENT_ENTRY, event);
+#line 3983 "Branch.c"
+}
+
+
+Event* events_event_entry_get_event (EventsEventEntry* self) {
+ Event* result = NULL;
+ Event* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+#line 473 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (EVENTS_IS_EVENT_ENTRY (self), NULL);
+#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->event;
+#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4001 "Branch.c"
+}
+
+
+static gchar* events_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ EventsEventEntry * self;
+ gchar* result = NULL;
+ Event* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 477 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->event;
+#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject));
+#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4020 "Branch.c"
+}
+
+
+static gchar* events_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ EventsEventEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 481 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = events_branch_single_event_icon;
+#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4039 "Branch.c"
+}
+
+
+static Page* events_event_entry_real_create_page (SidebarSimplePageEntry* base) {
+ EventsEventEntry * self;
+ Page* result = NULL;
+ Event* _tmp0_ = NULL;
+ EventPage* _tmp1_ = NULL;
+#line 485 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = self->priv->event;
+#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event_page_new (_tmp0_);
+#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_object_ref_sink (_tmp1_);
+#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
+#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4060 "Branch.c"
+}
+
+
+static gboolean events_event_entry_real_is_user_renameable (SidebarRenameableEntry* base) {
+ EventsEventEntry * self;
+ gboolean result = FALSE;
+#line 489 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 490 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = TRUE;
+#line 490 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4073 "Branch.c"
+}
+
+
+static void events_event_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name) {
+ EventsEventEntry * self;
+ gchar* prepped = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ const gchar* _tmp2_ = NULL;
+#line 493 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 493 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_if_fail (new_name != NULL);
+#line 494 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = new_name;
+#line 494 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = event_prep_event_name (_tmp0_);
+#line 494 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ prepped = _tmp1_;
+#line 495 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = prepped;
+#line 495 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (_tmp2_ != NULL) {
+#line 4097 "Branch.c"
+ CommandManager* _tmp3_ = NULL;
+ CommandManager* _tmp4_ = NULL;
+ Event* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ RenameEventCommand* _tmp7_ = NULL;
+ RenameEventCommand* _tmp8_ = NULL;
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = app_window_get_command_manager ();
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = _tmp3_;
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = self->priv->event;
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = prepped;
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = rename_event_command_new (_tmp5_, _tmp6_);
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = _tmp7_;
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ command_manager_execute (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_COMMAND, Command));
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp8_);
+#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _command_manager_unref0 (_tmp4_);
+#line 4122 "Branch.c"
+ }
+#line 493 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_free0 (prepped);
+#line 4126 "Branch.c"
+}
+
+
+static gboolean events_event_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) {
+ EventsEventEntry * self;
+ gboolean result = FALSE;
+ GeeArrayList* views = NULL;
+ GeeArrayList* _tmp0_ = NULL;
+ CommandManager* _tmp16_ = NULL;
+ CommandManager* _tmp17_ = NULL;
+ GeeArrayList* _tmp18_ = NULL;
+ Event* _tmp19_ = NULL;
+ SetEventCommand* _tmp20_ = NULL;
+ SetEventCommand* _tmp21_ = NULL;
+#line 499 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 499 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (GEE_IS_LIST (media), FALSE);
+#line 502 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 502 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ views = _tmp0_;
+#line 4149 "Branch.c"
+ {
+ GeeList* _media_source_list = NULL;
+ GeeList* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ gint _media_source_size = 0;
+ GeeList* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gint _media_source_index = 0;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = media;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _media_source_list = _tmp2_;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp3_ = _media_source_list;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _media_source_size = _tmp5_;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _media_source_index = -1;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ while (TRUE) {
+#line 4177 "Branch.c"
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ MediaSource* media_source = NULL;
+ GeeList* _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ gpointer _tmp11_ = NULL;
+ GeeArrayList* _tmp12_ = NULL;
+ MediaSource* _tmp13_ = NULL;
+ DataView* _tmp14_ = NULL;
+ DataView* _tmp15_ = NULL;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp6_ = _media_source_index;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _media_source_index = _tmp6_ + 1;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp7_ = _media_source_index;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp8_ = _media_source_size;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ break;
+#line 4201 "Branch.c"
+ }
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp9_ = _media_source_list;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp10_ = _media_source_index;
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp11_ = gee_list_get (_tmp9_, _tmp10_);
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ media_source = (MediaSource*) _tmp11_;
+#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp12_ = views;
+#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp13_ = media_source;
+#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp14_ = data_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_SOURCE, DataSource));
+#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp15_ = _tmp14_;
+#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_);
+#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp15_);
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (media_source);
+#line 4225 "Branch.c"
+ }
+#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_media_source_list);
+#line 4229 "Branch.c"
+ }
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp16_ = app_window_get_command_manager ();
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp17_ = _tmp16_;
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp18_ = views;
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp19_ = self->priv->event;
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp20_ = set_event_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable), _tmp19_);
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp21_ = _tmp20_;
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ command_manager_execute (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_COMMAND, Command));
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (_tmp21_);
+#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _command_manager_unref0 (_tmp17_);
+#line 508 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = TRUE;
+#line 508 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (views);
+#line 508 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4255 "Branch.c"
+}
+
+
+static gboolean events_event_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) {
+ EventsEventEntry * self;
+ gboolean result = FALSE;
+#line 511 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 511 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_return_val_if_fail (data != NULL, FALSE);
+#line 512 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = FALSE;
+#line 512 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4270 "Branch.c"
+}
+
+
+static void events_event_entry_class_init (EventsEventEntryClass * klass) {
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_event_entry_parent_class = g_type_class_peek_parent (klass);
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_type_class_add_private (klass, sizeof (EventsEventEntryPrivate));
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_event_entry_real_get_sidebar_name;
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_event_entry_real_get_sidebar_icon;
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = events_event_entry_real_create_page;
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = events_event_entry_finalize;
+#line 4287 "Branch.c"
+}
+
+
+static void events_event_entry_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface) {
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_event_entry_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ iface->is_user_renameable = (gboolean (*)(SidebarRenameableEntry*)) events_event_entry_real_is_user_renameable;
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ iface->rename = (void (*)(SidebarRenameableEntry*, const gchar*)) events_event_entry_real_rename;
+#line 4298 "Branch.c"
+}
+
+
+static void events_event_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) {
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_event_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) events_event_entry_real_internal_drop_received;
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) events_event_entry_real_internal_drop_received_arbitrary;
+#line 4309 "Branch.c"
+}
+
+
+static void events_event_entry_instance_init (EventsEventEntry * self) {
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self->priv = EVENTS_EVENT_ENTRY_GET_PRIVATE (self);
+#line 4316 "Branch.c"
+}
+
+
+static void events_event_entry_finalize (GObject* obj) {
+ EventsEventEntry * self;
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
+#line 467 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _g_object_unref0 (self->priv->event);
+#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ G_OBJECT_CLASS (events_event_entry_parent_class)->finalize (obj);
+#line 4328 "Branch.c"
+}
+
+
+GType events_event_entry_get_type (void) {
+ static volatile gsize events_event_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_event_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsEventEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_event_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsEventEntry), 0, (GInstanceInitFunc) events_event_entry_instance_init, NULL };
+ static const GInterfaceInfo sidebar_renameable_entry_info = { (GInterfaceInitFunc) events_event_entry_sidebar_renameable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) events_event_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ GType events_event_entry_type_id;
+ events_event_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "EventsEventEntry", &g_define_type_info, 0);
+ g_type_add_interface_static (events_event_entry_type_id, SIDEBAR_TYPE_RENAMEABLE_ENTRY, &sidebar_renameable_entry_info);
+ g_type_add_interface_static (events_event_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info);
+ g_once_init_leave (&events_event_entry_type_id__volatile, events_event_entry_type_id);
+ }
+ return events_event_entry_type_id__volatile;
+}
+
+
+EventsNoEventEntry* events_no_event_entry_construct (GType object_type) {
+ EventsNoEventEntry * self = NULL;
+#line 518 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = (EventsNoEventEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 518 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return self;
+#line 4354 "Branch.c"
+}
+
+
+EventsNoEventEntry* events_no_event_entry_new (void) {
+#line 518 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return events_no_event_entry_construct (EVENTS_TYPE_NO_EVENT_ENTRY);
+#line 4361 "Branch.c"
+}
+
+
+static gchar* events_no_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ EventsNoEventEntry * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 521 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry);
+#line 522 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = g_strdup (NO_EVENT_PAGE_NAME);
+#line 522 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp0_;
+#line 522 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4377 "Branch.c"
+}
+
+
+static gchar* events_no_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ EventsNoEventEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 525 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry);
+#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = events_branch_no_event_icon;
+#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = _tmp1_;
+#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4396 "Branch.c"
+}
+
+
+static Page* events_no_event_entry_real_create_page (SidebarSimplePageEntry* base) {
+ EventsNoEventEntry * self;
+ Page* result = NULL;
+ NoEventPage* _tmp0_ = NULL;
+#line 529 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry);
+#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ _tmp0_ = no_event_page_new ();
+#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ g_object_ref_sink (_tmp0_);
+#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
+#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ return result;
+#line 4414 "Branch.c"
+}
+
+
+static void events_no_event_entry_class_init (EventsNoEventEntryClass * klass) {
+#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ events_no_event_entry_parent_class = g_type_class_peek_parent (klass);
+#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_no_event_entry_real_get_sidebar_name;
+#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_no_event_entry_real_get_sidebar_icon;
+#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = events_no_event_entry_real_create_page;
+#line 4427 "Branch.c"
+}
+
+
+static void events_no_event_entry_instance_init (EventsNoEventEntry * self) {
+}
+
+
+GType events_no_event_entry_get_type (void) {
+ static volatile gsize events_no_event_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&events_no_event_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventsNoEventEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_no_event_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsNoEventEntry), 0, (GInstanceInitFunc) events_no_event_entry_instance_init, NULL };
+ GType events_no_event_entry_type_id;
+ events_no_event_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "EventsNoEventEntry", &g_define_type_info, 0);
+ g_once_init_leave (&events_no_event_entry_type_id__volatile, events_no_event_entry_type_id);
+ }
+ return events_no_event_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/events/EventDirectoryItem.c b/src/events/EventDirectoryItem.c
new file mode 100644
index 0000000..f63d633
--- /dev/null
+++ b/src/events/EventDirectoryItem.c
@@ -0,0 +1,1737 @@
+/* EventDirectoryItem.c generated by valac 0.32.1, the Vala compiler
+ * generated from EventDirectoryItem.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <cairo.h>
+#include <gdk/gdk.h>
+#include <float.h>
+#include <math.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gee.h>
+#include <pango/pango.h>
+#include <glib/gi18n-lib.h>
+
+
+#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;
+typedef struct _DataObjectPrivate DataObjectPrivate;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+
+#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_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;
+typedef struct _DataViewPrivate DataViewPrivate;
+
+#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_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;
+typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate;
+
+#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;
+typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate;
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+
+#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 _EventDirectoryItemPrivate EventDirectoryItemPrivate;
+
+#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_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_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 TYPE_SCALING (scaling_get_type ())
+
+#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ())
+typedef struct _Scaling Scaling;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ())
+
+#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
+#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
+#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
+#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
+#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+
+typedef struct _PhotoSource PhotoSource;
+typedef struct _PhotoSourceClass PhotoSourceClass;
+
+#define TYPE_PHOTO (photo_get_type ())
+#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
+#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
+#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
+#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
+#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))
+
+typedef struct _Photo Photo;
+typedef struct _PhotoClass PhotoClass;
+
+#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
+#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
+#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
+#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
+#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
+
+typedef struct _LibraryPhoto LibraryPhoto;
+typedef struct _LibraryPhotoClass LibraryPhotoClass;
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ())
+
+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 _EventDirectoryItemPrivate {
+ GdkRectangle paul_lynde;
+};
+
+typedef enum {
+ SCALE_CONSTRAINT_ORIGINAL,
+ SCALE_CONSTRAINT_DIMENSIONS,
+ SCALE_CONSTRAINT_WIDTH,
+ SCALE_CONSTRAINT_HEIGHT,
+ SCALE_CONSTRAINT_FILL_VIEWPORT
+} ScaleConstraint;
+
+struct _Scaling {
+ ScaleConstraint constraint;
+ gint scale;
+ Dimensions viewport;
+ gboolean scale_up;
+};
+
+typedef enum {
+ PHOTO_EXCEPTION_NONE = 0,
+ PHOTO_EXCEPTION_ORIENTATION = 1 << 0,
+ PHOTO_EXCEPTION_CROP = 1 << 1,
+ PHOTO_EXCEPTION_REDEYE = 1 << 2,
+ PHOTO_EXCEPTION_ADJUST = 1 << 3,
+ PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4,
+ PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL
+} PhotoException;
+
+typedef enum {
+ THUMBNAIL_CACHE_SIZE_LARGEST = 360,
+ THUMBNAIL_CACHE_SIZE_BIG = 360,
+ THUMBNAIL_CACHE_SIZE_MEDIUM = 128,
+ THUMBNAIL_CACHE_SIZE_SMALLEST = 128
+} ThumbnailCacheSize;
+
+
+static gpointer event_directory_item_parent_class = NULL;
+extern EventSourceCollection* event_global;
+extern Scaling event_directory_item_squared_scaling;
+Scaling event_directory_item_squared_scaling = {0};
+
+GType data_object_get_type (void) G_GNUC_CONST;
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+gpointer 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 data_view_get_type (void) G_GNUC_CONST;
+GType data_source_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 dimensions_get_type (void) G_GNUC_CONST;
+Dimensions* dimensions_dup (const Dimensions* self);
+void dimensions_free (Dimensions* self);
+GType event_directory_item_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;
+#define EVENT_DIRECTORY_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemPrivate))
+enum {
+ EVENT_DIRECTORY_ITEM_DUMMY_PROPERTY
+};
+GType source_collection_get_type (void) G_GNUC_CONST;
+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;
+static void event_directory_item_on_events_altered (EventDirectoryItem* self, GeeMap* map);
+static void _event_directory_item_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
+GType scaling_get_type (void) G_GNUC_CONST;
+GType scale_constraint_get_type (void) G_GNUC_CONST;
+Scaling* scaling_dup (const Scaling* self);
+void scaling_free (Scaling* self);
+void scaling_to_fill_viewport (Dimensions* viewport, Scaling* result);
+static gint event_directory_item_get_CROPPED_SCALE (void);
+void dimensions_init (Dimensions *self, gint width, gint height);
+EventDirectoryItem* event_directory_item_new (Event* event);
+EventDirectoryItem* event_directory_item_construct (GType object_type, Event* event);
+static gchar* event_directory_item_get_formatted_title (Event* event);
+gchar* event_source_get_comment (EventSource* self);
+CheckerboardItem* checkerboard_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment);
+GType media_source_get_type (void) G_GNUC_CONST;
+static void event_directory_item_get_paul_lynde_rect (MediaSource* source, GdkRectangle* result);
+MediaSource* event_get_primary_source (Event* self);
+void checkerboard_item_clear_image (CheckerboardItem* self, Dimensions* dim);
+void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result);
+void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result);
+GType photo_exception_get_type (void) G_GNUC_CONST;
+void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result);
+static GdkPixbuf* event_directory_item_get_paul_lynde (MediaSource* media, GdkRectangle* paul_lynde, GError** error);
+GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error);
+void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result);
+GType photo_source_get_type (void) G_GNUC_CONST;
+GType photo_get_type (void) G_GNUC_CONST;
+GType library_photo_get_type (void) G_GNUC_CONST;
+GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error);
+void clamp_rectangle (GdkRectangle* original, Dimensions* max, GdkRectangle* result);
+gboolean media_source_collection_has_photo (GeeCollection* media);
+GeeCollection* event_source_get_media (EventSource* self);
+gboolean media_source_collection_has_video (GeeCollection* media);
+gint event_source_get_media_count (EventSource* self);
+gchar* event_get_formatted_daterange (Event* self);
+gchar* data_object_get_name (DataObject* self);
+gchar* guarded_markup_escape_text (const gchar* plain);
+static void event_directory_item_real_exposed (CheckerboardItem* base);
+gboolean checkerboard_item_is_exposed (CheckerboardItem* self);
+void checkerboard_item_set_image (CheckerboardItem* self, GdkPixbuf* pixbuf);
+gchar* data_object_to_string (DataObject* self);
+static void event_directory_item_update_comment (EventDirectoryItem* self, gboolean init);
+void checkerboard_item_exposed (CheckerboardItem* self);
+static void event_directory_item_real_unexposed (CheckerboardItem* base);
+void checkerboard_item_unexposed (CheckerboardItem* self);
+void checkerboard_item_set_title (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment);
+static void event_directory_item_real_thumbnail_altered (ThumbnailView* base);
+static void event_directory_item_real_paint_shadow (CheckerboardItem* base, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha);
+void checkerboard_item_paint_shadow (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha);
+static void event_directory_item_real_paint_border (CheckerboardItem* base, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width);
+void checkerboard_item_get_border_dimensions (Dimensions* object_dim, gint border_width, Dimensions* result);
+void checkerboard_item_get_border_origin (GdkPoint* object_origin, gint border_width, GdkPoint* result);
+void draw_rounded_corners_filled (cairo_t* ctx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion);
+static void event_directory_item_real_paint_image (CheckerboardItem* base, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin);
+void context_rounded_corners (cairo_t* cx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion);
+gboolean is_string_empty (const gchar* s);
+void checkerboard_item_clear_comment (CheckerboardItem* self);
+void checkerboard_item_set_comment (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment);
+GType thumbnail_cache_size_get_type (void) G_GNUC_CONST;
+gint thumbnail_cache_size_get_scale (ThumbnailCacheSize self);
+static void event_directory_item_finalize (GObject* obj);
+static void _vala_event_directory_item_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+
+
+static void _event_directory_item_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
+#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_on_events_altered ((EventDirectoryItem*) self, items);
+#line 457 "EventDirectoryItem.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 464 "EventDirectoryItem.c"
+}
+
+
+EventDirectoryItem* event_directory_item_construct (GType object_type, Event* event) {
+ EventDirectoryItem * self = NULL;
+ Event* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ Dimensions _tmp5_ = {0};
+ Event* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+ gchar* _tmp8_ = NULL;
+ Event* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ Event* _tmp12_ = NULL;
+ Event* _tmp13_ = NULL;
+ Event* _tmp14_ = NULL;
+ MediaSource* _tmp15_ = NULL;
+ MediaSource* _tmp16_ = NULL;
+ GdkRectangle _tmp17_ = {0};
+ GdkRectangle _tmp18_ = {0};
+ Dimensions _tmp19_ = {0};
+ EventSourceCollection* _tmp20_ = NULL;
+#line 22 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_val_if_fail (IS_EVENT (event), NULL);
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = event;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = event_directory_item_get_CROPPED_SCALE ();
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = _tmp1_;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = event_directory_item_get_CROPPED_SCALE ();
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = _tmp3_;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_init (&_tmp5_, _tmp2_, _tmp4_);
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = event;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = event_directory_item_get_formatted_title (_tmp6_);
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = _tmp7_;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = event;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT_SOURCE, EventSource));
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = _tmp10_;
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = (EventDirectoryItem*) checkerboard_item_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), &_tmp5_, _tmp8_, _tmp11_, TRUE, PANGO_ALIGN_CENTER);
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp11_);
+#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp8_);
+#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = event;
+#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = _g_object_ref0 (_tmp12_);
+#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (self->event);
+#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self->event = _tmp13_;
+#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp14_ = event;
+#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp15_ = event_get_primary_source (_tmp14_);
+#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp16_ = _tmp15_;
+#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_get_paul_lynde_rect (_tmp16_, &_tmp17_);
+#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self->priv->paul_lynde = _tmp17_;
+#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp16_);
+#line 32 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp18_ = self->priv->paul_lynde;
+#line 32 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_for_rectangle (&_tmp18_, &_tmp19_);
+#line 32 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp19_);
+#line 35 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp20_ = event_global;
+#line 35 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _event_directory_item_on_events_altered_data_collection_items_altered, self, 0);
+#line 22 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return self;
+#line 555 "EventDirectoryItem.c"
+}
+
+
+EventDirectoryItem* event_directory_item_new (Event* event) {
+#line 22 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return event_directory_item_construct (TYPE_EVENT_DIRECTORY_ITEM, event);
+#line 562 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_get_paul_lynde_rect (MediaSource* source, GdkRectangle* result) {
+ Dimensions scaled = {0};
+ MediaSource* _tmp0_ = NULL;
+ Dimensions _tmp1_ = {0};
+ Dimensions _tmp2_ = {0};
+ GdkRectangle paul_lynde = {0};
+ Dimensions _tmp3_ = {0};
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ Dimensions _tmp7_ = {0};
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ Dimensions _tmp10_ = {0};
+ gint _tmp11_ = 0;
+ gint _tmp12_ = 0;
+ gint _tmp13_ = 0;
+ Dimensions _tmp14_ = {0};
+ gint _tmp15_ = 0;
+ gint _tmp16_ = 0;
+ gint _tmp17_ = 0;
+ gint _tmp18_ = 0;
+ gint _tmp19_ = 0;
+ gint _tmp20_ = 0;
+#line 43 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (IS_MEDIA_SOURCE (source));
+#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = source;
+#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ media_source_get_dimensions (_tmp0_, PHOTO_EXCEPTION_NONE, &_tmp1_);
+#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ scaling_get_scaled_dimensions (&event_directory_item_squared_scaling, &_tmp1_, &_tmp2_);
+#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ scaled = _tmp2_;
+#line 46 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ memset (&paul_lynde, 0, sizeof (GdkRectangle));
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = scaled;
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = _tmp3_.width;
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = event_directory_item_get_CROPPED_SCALE ();
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = _tmp5_;
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = scaled;
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = _tmp7_.width;
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = CLAMP (_tmp4_ - _tmp6_, 0, _tmp8_);
+#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ paul_lynde.x = _tmp9_ / 2;
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = scaled;
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = _tmp10_.height;
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = event_directory_item_get_CROPPED_SCALE ();
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = _tmp12_;
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp14_ = scaled;
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp15_ = _tmp14_.height;
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp16_ = CLAMP (_tmp11_ - _tmp13_, 0, _tmp15_);
+#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ paul_lynde.y = _tmp16_ / 2;
+#line 49 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp17_ = event_directory_item_get_CROPPED_SCALE ();
+#line 49 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp18_ = _tmp17_;
+#line 49 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ paul_lynde.width = _tmp18_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp19_ = event_directory_item_get_CROPPED_SCALE ();
+#line 50 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp20_ = _tmp19_;
+#line 50 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ paul_lynde.height = _tmp20_;
+#line 52 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ *result = paul_lynde;
+#line 52 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return;
+#line 650 "EventDirectoryItem.c"
+}
+
+
+static GdkPixbuf* event_directory_item_get_paul_lynde (MediaSource* media, GdkRectangle* paul_lynde, GError** error) {
+ GdkPixbuf* result = NULL;
+ GdkPixbuf* pixbuf = NULL;
+ MediaSource* _tmp0_ = NULL;
+ Scaling _tmp1_ = {0};
+ GdkPixbuf* _tmp2_ = NULL;
+ Dimensions thumbnail_dimensions = {0};
+ GdkPixbuf* _tmp3_ = NULL;
+ Dimensions _tmp4_ = {0};
+ gboolean _tmp5_ = FALSE;
+ Dimensions _tmp6_ = {0};
+ gint _tmp7_ = 0;
+ GdkRectangle _tmp8_ = {0};
+ gint _tmp9_ = 0;
+ GdkRectangle _tmp23_ = {0};
+ Dimensions _tmp24_ = {0};
+ GdkRectangle _tmp25_ = {0};
+ GdkPixbuf* _tmp26_ = NULL;
+ GdkRectangle _tmp27_ = {0};
+ gint _tmp28_ = 0;
+ GdkRectangle _tmp29_ = {0};
+ gint _tmp30_ = 0;
+ GdkRectangle _tmp31_ = {0};
+ gint _tmp32_ = 0;
+ GdkRectangle _tmp33_ = {0};
+ gint _tmp34_ = 0;
+ GdkPixbuf* _tmp35_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 56 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (media), NULL);
+#line 56 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_val_if_fail (paul_lynde != NULL, NULL);
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = media;
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = event_directory_item_squared_scaling;
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = media_source_get_preview_pixbuf (_tmp0_, &_tmp1_, &_inner_error_);
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ pixbuf = _tmp2_;
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_propagate_error (error, _inner_error_);
+#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return NULL;
+#line 700 "EventDirectoryItem.c"
+ }
+#line 59 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = pixbuf;
+#line 59 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_for_pixbuf (_tmp3_, &_tmp4_);
+#line 59 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ thumbnail_dimensions = _tmp4_;
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = thumbnail_dimensions;
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = _tmp6_.width;
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = *paul_lynde;
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = _tmp8_.width;
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp7_ > (2 * _tmp9_)) {
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = TRUE;
+#line 720 "EventDirectoryItem.c"
+ } else {
+ Dimensions _tmp10_ = {0};
+ gint _tmp11_ = 0;
+ GdkRectangle _tmp12_ = {0};
+ gint _tmp13_ = 0;
+#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = thumbnail_dimensions;
+#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = _tmp10_.height;
+#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = *paul_lynde;
+#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = _tmp12_.height;
+#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = _tmp11_ > (_tmp13_ * 2);
+#line 736 "EventDirectoryItem.c"
+ }
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp5_) {
+#line 740 "EventDirectoryItem.c"
+ LibraryPhoto* photo = NULL;
+ MediaSource* _tmp14_ = NULL;
+ LibraryPhoto* _tmp15_ = NULL;
+ GdkPixbuf* _tmp16_ = NULL;
+ LibraryPhoto* _tmp17_ = NULL;
+ Scaling _tmp18_ = {0};
+ GdkPixbuf* _tmp19_ = NULL;
+ GdkPixbuf* _tmp20_ = NULL;
+ GdkPixbuf* _tmp21_ = NULL;
+ Dimensions _tmp22_ = {0};
+#line 63 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp14_ = media;
+#line 63 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_LIBRARY_PHOTO, LibraryPhoto));
+#line 63 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ photo = _tmp15_;
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp17_ = photo;
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp18_ = event_directory_item_squared_scaling;
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp19_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp18_, &_inner_error_);
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp16_ = _tmp19_;
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_propagate_error (error, _inner_error_);
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (photo);
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (pixbuf);
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return NULL;
+#line 775 "EventDirectoryItem.c"
+ }
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp20_ = _tmp16_;
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp16_ = NULL;
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (pixbuf);
+#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ pixbuf = _tmp20_;
+#line 65 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp21_ = pixbuf;
+#line 65 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_for_pixbuf (_tmp21_, &_tmp22_);
+#line 65 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ thumbnail_dimensions = _tmp22_;
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp16_);
+#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (photo);
+#line 795 "EventDirectoryItem.c"
+ }
+#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp23_ = *paul_lynde;
+#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp24_ = thumbnail_dimensions;
+#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ clamp_rectangle (&_tmp23_, &_tmp24_, &_tmp25_);
+#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ *paul_lynde = _tmp25_;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp26_ = pixbuf;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp27_ = *paul_lynde;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp28_ = _tmp27_.x;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp29_ = *paul_lynde;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp30_ = _tmp29_.y;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp31_ = *paul_lynde;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp32_ = _tmp31_.width;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp33_ = *paul_lynde;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp34_ = _tmp33_.height;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp35_ = gdk_pixbuf_new_subpixbuf (_tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_);
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ result = _tmp35_;
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (pixbuf);
+#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return result;
+#line 831 "EventDirectoryItem.c"
+}
+
+
+static gchar* event_directory_item_get_formatted_title (Event* event) {
+ gchar* result = NULL;
+ gboolean has_photos = FALSE;
+ Event* _tmp0_ = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ gboolean has_videos = FALSE;
+ Event* _tmp5_ = NULL;
+ GeeCollection* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+ gboolean _tmp9_ = FALSE;
+ gint count = 0;
+ Event* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+ gchar* count_text = NULL;
+ gchar* _tmp12_ = NULL;
+ gboolean _tmp13_ = FALSE;
+ gboolean _tmp14_ = FALSE;
+ gchar* daterange = NULL;
+ Event* _tmp29_ = NULL;
+ gchar* _tmp30_ = NULL;
+ gchar* name = NULL;
+ Event* _tmp31_ = NULL;
+ gchar* _tmp32_ = NULL;
+ gboolean _tmp33_ = FALSE;
+ const gchar* _tmp34_ = NULL;
+#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_val_if_fail (IS_EVENT (event), NULL);
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = event;
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource));
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = _tmp1_;
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = media_source_collection_has_photo (_tmp2_);
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = _tmp3_;
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp2_);
+#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ has_photos = _tmp4_;
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = event;
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_EVENT_SOURCE, EventSource));
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = _tmp6_;
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = media_source_collection_has_video (_tmp7_);
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = _tmp8_;
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp7_);
+#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ has_videos = _tmp9_;
+#line 80 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = event;
+#line 80 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_EVENT_SOURCE, EventSource));
+#line 80 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ count = _tmp11_;
+#line 81 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = g_strdup ("");
+#line 81 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ count_text = _tmp12_;
+#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp14_ = has_photos;
+#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp14_) {
+#line 908 "EventDirectoryItem.c"
+ gboolean _tmp15_ = FALSE;
+#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp15_ = has_videos;
+#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = _tmp15_;
+#line 914 "EventDirectoryItem.c"
+ } else {
+#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = FALSE;
+#line 918 "EventDirectoryItem.c"
+ }
+#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp13_) {
+#line 922 "EventDirectoryItem.c"
+ gint _tmp16_ = 0;
+ const gchar* _tmp17_ = NULL;
+ gint _tmp18_ = 0;
+ gchar* _tmp19_ = NULL;
+#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp16_ = count;
+#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp17_ = ngettext ("%d Photo/Video", "%d Photos/Videos", (gulong) _tmp16_);
+#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp18_ = count;
+#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp19_ = g_strdup_printf (_tmp17_, _tmp18_);
+#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (count_text);
+#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ count_text = _tmp19_;
+#line 939 "EventDirectoryItem.c"
+ } else {
+ gboolean _tmp20_ = FALSE;
+#line 84 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp20_ = has_videos;
+#line 84 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp20_) {
+#line 946 "EventDirectoryItem.c"
+ gint _tmp21_ = 0;
+ const gchar* _tmp22_ = NULL;
+ gint _tmp23_ = 0;
+ gchar* _tmp24_ = NULL;
+#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp21_ = count;
+#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp22_ = ngettext ("%d Video", "%d Videos", (gulong) _tmp21_);
+#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp23_ = count;
+#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp24_ = g_strdup_printf (_tmp22_, _tmp23_);
+#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (count_text);
+#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ count_text = _tmp24_;
+#line 963 "EventDirectoryItem.c"
+ } else {
+ gint _tmp25_ = 0;
+ const gchar* _tmp26_ = NULL;
+ gint _tmp27_ = 0;
+ gchar* _tmp28_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp25_ = count;
+#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp26_ = ngettext ("%d Photo", "%d Photos", (gulong) _tmp25_);
+#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp27_ = count;
+#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp28_ = g_strdup_printf (_tmp26_, _tmp27_);
+#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (count_text);
+#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ count_text = _tmp28_;
+#line 981 "EventDirectoryItem.c"
+ }
+ }
+#line 89 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp29_ = event;
+#line 89 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp30_ = event_get_formatted_daterange (_tmp29_);
+#line 89 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ daterange = _tmp30_;
+#line 90 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp31_ = event;
+#line 90 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp32_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_OBJECT, DataObject));
+#line 90 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ name = _tmp32_;
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp34_ = daterange;
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp34_ == NULL) {
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp33_ = TRUE;
+#line 1002 "EventDirectoryItem.c"
+ } else {
+ const gchar* _tmp35_ = NULL;
+ const gchar* _tmp36_ = NULL;
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp35_ = daterange;
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp36_ = name;
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp33_ = g_strcmp0 (_tmp35_, _tmp36_) == 0;
+#line 1012 "EventDirectoryItem.c"
+ }
+#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp33_) {
+#line 1016 "EventDirectoryItem.c"
+ const gchar* _tmp37_ = NULL;
+ gchar* _tmp38_ = NULL;
+ gchar* _tmp39_ = NULL;
+ const gchar* _tmp40_ = NULL;
+ gchar* _tmp41_ = NULL;
+ gchar* _tmp42_ = NULL;
+ gchar* _tmp43_ = NULL;
+ gchar* _tmp44_ = NULL;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp37_ = name;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp38_ = guarded_markup_escape_text (_tmp37_);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp39_ = _tmp38_;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp40_ = count_text;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp41_ = guarded_markup_escape_text (_tmp40_);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp42_ = _tmp41_;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp43_ = g_strdup_printf ("<b>%s</b>\n%s", _tmp39_, _tmp42_);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp44_ = _tmp43_;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp42_);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp39_);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ result = _tmp44_;
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (name);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (daterange);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (count_text);
+#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return result;
+#line 1055 "EventDirectoryItem.c"
+ } else {
+ const gchar* _tmp45_ = NULL;
+ gchar* _tmp46_ = NULL;
+ gchar* _tmp47_ = NULL;
+ const gchar* _tmp48_ = NULL;
+ gchar* _tmp49_ = NULL;
+ gchar* _tmp50_ = NULL;
+ const gchar* _tmp51_ = NULL;
+ gchar* _tmp52_ = NULL;
+ gchar* _tmp53_ = NULL;
+ gchar* _tmp54_ = NULL;
+ gchar* _tmp55_ = NULL;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp45_ = name;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp46_ = guarded_markup_escape_text (_tmp45_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp47_ = _tmp46_;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp48_ = count_text;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp49_ = guarded_markup_escape_text (_tmp48_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp50_ = _tmp49_;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp51_ = daterange;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp52_ = guarded_markup_escape_text (_tmp51_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp53_ = _tmp52_;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp54_ = g_strdup_printf ("<b>%s</b>\n%s\n%s", _tmp47_, _tmp50_, _tmp53_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp55_ = _tmp54_;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp53_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp50_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp47_);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ result = _tmp55_;
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (name);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (daterange);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (count_text);
+#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return result;
+#line 1106 "EventDirectoryItem.c"
+ }
+#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (name);
+#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (daterange);
+#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (count_text);
+#line 1114 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_real_exposed (CheckerboardItem* base) {
+ EventDirectoryItem * self;
+ gboolean _tmp0_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 102 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 103 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = checkerboard_item_is_exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem));
+#line 103 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp0_) {
+#line 104 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return;
+#line 1130 "EventDirectoryItem.c"
+ }
+ {
+ GdkPixbuf* _tmp1_ = NULL;
+ Event* _tmp2_ = NULL;
+ MediaSource* _tmp3_ = NULL;
+ MediaSource* _tmp4_ = NULL;
+ GdkRectangle _tmp5_ = {0};
+ GdkPixbuf* _tmp6_ = NULL;
+ GdkPixbuf* _tmp7_ = NULL;
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = self->event;
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = event_get_primary_source (_tmp2_);
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = _tmp3_;
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = self->priv->paul_lynde;
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = event_directory_item_get_paul_lynde (_tmp4_, &_tmp5_, &_inner_error_);
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = _tmp6_;
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp4_);
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = _tmp7_;
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1158 "EventDirectoryItem.c"
+ goto __catch49_g_error;
+ }
+#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp1_);
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1165 "EventDirectoryItem.c"
+ }
+ goto __finally49;
+ __catch49_g_error:
+ {
+ GError* err = NULL;
+ Event* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ GError* _tmp11_ = NULL;
+ const gchar* _tmp12_ = NULL;
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ err = _inner_error_;
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _inner_error_ = NULL;
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = self->event;
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject));
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = _tmp9_;
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = err;
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = _tmp11_->message;
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_critical ("EventDirectoryItem.vala:109: Unable to fetch preview for %s: %s", _tmp10_, _tmp12_);
+#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp10_);
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_error_free0 (err);
+#line 1196 "EventDirectoryItem.c"
+ }
+ __finally49:
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_clear_error (&_inner_error_);
+#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return;
+#line 1207 "EventDirectoryItem.c"
+ }
+#line 112 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_update_comment (self, FALSE);
+#line 114 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ CHECKERBOARD_ITEM_CLASS (event_directory_item_parent_class)->exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem));
+#line 1213 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_real_unexposed (CheckerboardItem* base) {
+ EventDirectoryItem * self;
+ gboolean _tmp0_ = FALSE;
+ GdkRectangle _tmp1_ = {0};
+ Dimensions _tmp2_ = {0};
+#line 117 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 118 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = checkerboard_item_is_exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem));
+#line 118 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (!_tmp0_) {
+#line 119 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return;
+#line 1230 "EventDirectoryItem.c"
+ }
+#line 121 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = self->priv->paul_lynde;
+#line 121 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_for_rectangle (&_tmp1_, &_tmp2_);
+#line 121 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp2_);
+#line 123 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ CHECKERBOARD_ITEM_CLASS (event_directory_item_parent_class)->unexposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem));
+#line 1240 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_on_events_altered (EventDirectoryItem* self, GeeMap* map) {
+ GeeMap* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+#line 126 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (IS_EVENT_DIRECTORY_ITEM (self));
+#line 126 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (GEE_IS_MAP (map));
+#line 127 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_update_comment (self, FALSE);
+#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = map;
+#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = self->event;
+#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject));
+#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp2_) {
+#line 1262 "EventDirectoryItem.c"
+ Event* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = self->event;
+#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = event_directory_item_get_formatted_title (_tmp3_);
+#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = _tmp4_;
+#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_, TRUE, PANGO_ALIGN_CENTER);
+#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp5_);
+#line 1276 "EventDirectoryItem.c"
+ }
+}
+
+
+static void event_directory_item_real_thumbnail_altered (ThumbnailView* base) {
+ EventDirectoryItem * self;
+ MediaSource* media = NULL;
+ Event* _tmp0_ = NULL;
+ MediaSource* _tmp1_ = NULL;
+ MediaSource* _tmp2_ = NULL;
+ GdkRectangle _tmp3_ = {0};
+ gboolean _tmp4_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 132 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 133 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = self->event;
+#line 133 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = event_get_primary_source (_tmp0_);
+#line 133 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ media = _tmp1_;
+#line 136 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = media;
+#line 136 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_get_paul_lynde_rect (_tmp2_, &_tmp3_);
+#line 136 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self->priv->paul_lynde = _tmp3_;
+#line 138 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = checkerboard_item_is_exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem));
+#line 138 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp4_) {
+#line 1308 "EventDirectoryItem.c"
+ {
+ GdkPixbuf* _tmp5_ = NULL;
+ MediaSource* _tmp6_ = NULL;
+ GdkRectangle _tmp7_ = {0};
+ GdkPixbuf* _tmp8_ = NULL;
+#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = media;
+#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = self->priv->paul_lynde;
+#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = event_directory_item_get_paul_lynde (_tmp6_, &_tmp7_, &_inner_error_);
+#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = _tmp8_;
+#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1324 "EventDirectoryItem.c"
+ goto __catch50_g_error;
+ }
+#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_);
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (_tmp5_);
+#line 1331 "EventDirectoryItem.c"
+ }
+ goto __finally50;
+ __catch50_g_error:
+ {
+ GError* err = NULL;
+ Event* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ GError* _tmp12_ = NULL;
+ const gchar* _tmp13_ = NULL;
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ err = _inner_error_;
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _inner_error_ = NULL;
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = self->event;
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject));
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = _tmp10_;
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = err;
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = _tmp12_->message;
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_critical ("EventDirectoryItem.vala:142: Unable to fetch preview for %s: %s", _tmp11_, _tmp13_);
+#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (_tmp11_);
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_error_free0 (err);
+#line 1362 "EventDirectoryItem.c"
+ }
+ __finally50:
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (media);
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_clear_error (&_inner_error_);
+#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return;
+#line 1375 "EventDirectoryItem.c"
+ }
+ } else {
+ GdkRectangle _tmp14_ = {0};
+ Dimensions _tmp15_ = {0};
+#line 145 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp14_ = self->priv->paul_lynde;
+#line 145 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_for_rectangle (&_tmp14_, &_tmp15_);
+#line 145 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp15_);
+#line 1386 "EventDirectoryItem.c"
+ }
+#line 148 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ THUMBNAIL_VIEW_CLASS (event_directory_item_parent_class)->thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), TYPE_THUMBNAIL_VIEW, ThumbnailView));
+#line 132 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (media);
+#line 1392 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_real_paint_shadow (CheckerboardItem* base, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha) {
+ EventDirectoryItem * self;
+ Dimensions altered = {0};
+ Dimensions _tmp0_ = {0};
+ gint _tmp1_ = 0;
+ Dimensions _tmp2_ = {0};
+ gint _tmp3_ = 0;
+ cairo_t* _tmp4_ = NULL;
+ Dimensions _tmp5_ = {0};
+ GdkPoint _tmp6_ = {0};
+ gfloat _tmp7_ = 0.0F;
+#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (ctx != NULL);
+#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (dimensions != NULL);
+#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (origin != NULL);
+#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = *dimensions;
+#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = _tmp0_.width;
+#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = *dimensions;
+#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = _tmp2_.height;
+#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_init (&altered, _tmp1_ - 25, _tmp3_ - 25);
+#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = ctx;
+#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = altered;
+#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = *origin;
+#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = initial_alpha;
+#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ CHECKERBOARD_ITEM_CLASS (event_directory_item_parent_class)->paint_shadow (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp4_, &_tmp5_, &_tmp6_, 36, _tmp7_);
+#line 1435 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_real_paint_border (CheckerboardItem* base, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width) {
+ EventDirectoryItem * self;
+ Dimensions dimensions = {0};
+ Dimensions _tmp0_ = {0};
+ gint _tmp1_ = 0;
+ Dimensions _tmp2_ = {0};
+ GdkPoint origin = {0};
+ GdkPoint _tmp3_ = {0};
+ gint _tmp4_ = 0;
+ GdkPoint _tmp5_ = {0};
+ cairo_t* _tmp6_ = NULL;
+ Dimensions _tmp7_ = {0};
+ GdkPoint _tmp8_ = {0};
+#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (ctx != NULL);
+#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (object_dimensions != NULL);
+#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (object_origin != NULL);
+#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = *object_dimensions;
+#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = border_width;
+#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_get_border_dimensions (&_tmp0_, _tmp1_, &_tmp2_);
+#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions = _tmp2_;
+#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = *object_origin;
+#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = border_width;
+#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_get_border_origin (&_tmp3_, _tmp4_, &_tmp5_);
+#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ origin = _tmp5_;
+#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = ctx;
+#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = dimensions;
+#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = origin;
+#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ draw_rounded_corners_filled (_tmp6_, &_tmp7_, &_tmp8_, 6.0);
+#line 1484 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_real_paint_image (CheckerboardItem* base, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin) {
+ EventDirectoryItem * self;
+ Dimensions dimensions = {0};
+ GdkPixbuf* _tmp0_ = NULL;
+ Dimensions _tmp1_ = {0};
+ GdkPixbuf* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ cairo_t* _tmp7_ = NULL;
+ Dimensions _tmp8_ = {0};
+ GdkPoint _tmp9_ = {0};
+ cairo_t* _tmp10_ = NULL;
+ GdkPixbuf* _tmp11_ = NULL;
+ GdkPoint _tmp12_ = {0};
+ gint _tmp13_ = 0;
+ GdkPoint _tmp14_ = {0};
+ gint _tmp15_ = 0;
+ cairo_t* _tmp16_ = NULL;
+#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (ctx != NULL);
+#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
+#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (origin != NULL);
+#line 167 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = pixbuf;
+#line 167 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_for_pixbuf (_tmp0_, &_tmp1_);
+#line 167 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions = _tmp1_;
+#line 169 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = pixbuf;
+#line 169 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = gdk_pixbuf_get_has_alpha (_tmp2_);
+#line 169 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp3_) {
+#line 1525 "EventDirectoryItem.c"
+ cairo_t* _tmp4_ = NULL;
+ Dimensions _tmp5_ = {0};
+ GdkPoint _tmp6_ = {0};
+#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = ctx;
+#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = dimensions;
+#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp6_ = *origin;
+#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ draw_rounded_corners_filled (_tmp4_, &_tmp5_, &_tmp6_, 6.0);
+#line 1537 "EventDirectoryItem.c"
+ }
+#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp7_ = ctx;
+#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp8_ = dimensions;
+#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp9_ = *origin;
+#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ context_rounded_corners (_tmp7_, &_tmp8_, &_tmp9_, 6.0);
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp10_ = ctx;
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp11_ = pixbuf;
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp12_ = *origin;
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp13_ = _tmp12_.x;
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp14_ = *origin;
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp15_ = _tmp14_.y;
+#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ gdk_cairo_set_source_pixbuf (_tmp10_, _tmp11_, (gdouble) _tmp13_, (gdouble) _tmp15_);
+#line 175 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp16_ = ctx;
+#line 175 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ cairo_paint (_tmp16_);
+#line 1565 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_update_comment (EventDirectoryItem* self, gboolean init) {
+ gchar* comment = NULL;
+ Event* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ const gchar* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 178 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_return_if_fail (IS_EVENT_DIRECTORY_ITEM (self));
+#line 179 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = self->event;
+#line 179 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource));
+#line 179 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ comment = _tmp1_;
+#line 180 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = comment;
+#line 180 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = is_string_empty (_tmp2_);
+#line 180 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (_tmp3_) {
+#line 181 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_clear_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem));
+#line 1591 "EventDirectoryItem.c"
+ } else {
+ gboolean _tmp4_ = FALSE;
+#line 182 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp4_ = init;
+#line 182 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ if (!_tmp4_) {
+#line 1598 "EventDirectoryItem.c"
+ const gchar* _tmp5_ = NULL;
+#line 183 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp5_ = comment;
+#line 183 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_, FALSE, PANGO_ALIGN_LEFT);
+#line 1604 "EventDirectoryItem.c"
+ } else {
+#line 185 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ checkerboard_item_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), "", FALSE, PANGO_ALIGN_LEFT);
+#line 1608 "EventDirectoryItem.c"
+ }
+ }
+#line 178 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_free0 (comment);
+#line 1613 "EventDirectoryItem.c"
+}
+
+
+static gint event_directory_item_get_CROPPED_SCALE (void) {
+ gint result;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_MEDIUM);
+#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_BIG);
+#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_MEDIUM);
+#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ result = _tmp0_ + ((_tmp1_ - _tmp2_) / 2);
+#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ return result;
+#line 1632 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_class_init (EventDirectoryItemClass * klass) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ Dimensions _tmp4_ = {0};
+ Scaling _tmp5_ = {0};
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_type_class_add_private (klass, sizeof (EventDirectoryItemPrivate));
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ ((CheckerboardItemClass *) klass)->exposed = event_directory_item_real_exposed;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ ((CheckerboardItemClass *) klass)->unexposed = event_directory_item_real_unexposed;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ ((ThumbnailViewClass *) klass)->thumbnail_altered = event_directory_item_real_thumbnail_altered;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ ((CheckerboardItemClass *) klass)->paint_shadow = event_directory_item_real_paint_shadow;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ ((CheckerboardItemClass *) klass)->paint_border = event_directory_item_real_paint_border;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ ((CheckerboardItemClass *) klass)->paint_image = event_directory_item_real_paint_image;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_event_directory_item_get_property;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ G_OBJECT_CLASS (klass)->finalize = event_directory_item_finalize;
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = event_directory_item_get_CROPPED_SCALE ();
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp1_ = _tmp0_;
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp2_ = event_directory_item_get_CROPPED_SCALE ();
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp3_ = _tmp2_;
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ dimensions_init (&_tmp4_, _tmp1_, _tmp3_);
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ scaling_to_fill_viewport (&_tmp4_, &_tmp5_);
+#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ event_directory_item_squared_scaling = _tmp5_;
+#line 1677 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_instance_init (EventDirectoryItem * self) {
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self->priv = EVENT_DIRECTORY_ITEM_GET_PRIVATE (self);
+#line 20 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ memset (&self->priv->paul_lynde, 0, sizeof (GdkRectangle));
+#line 1686 "EventDirectoryItem.c"
+}
+
+
+static void event_directory_item_finalize (GObject* obj) {
+ EventDirectoryItem * self;
+ EventSourceCollection* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _tmp0_ = event_global;
+#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE);
+#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _event_directory_item_on_events_altered_data_collection_items_altered, self);
+#line 18 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ _g_object_unref0 (self->event);
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ G_OBJECT_CLASS (event_directory_item_parent_class)->finalize (obj);
+#line 1706 "EventDirectoryItem.c"
+}
+
+
+GType event_directory_item_get_type (void) {
+ static volatile gsize event_directory_item_type_id__volatile = 0;
+ if (g_once_init_enter (&event_directory_item_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventDirectoryItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_directory_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventDirectoryItem), 0, (GInstanceInitFunc) event_directory_item_instance_init, NULL };
+ GType event_directory_item_type_id;
+ event_directory_item_type_id = g_type_register_static (TYPE_CHECKERBOARD_ITEM, "EventDirectoryItem", &g_define_type_info, 0);
+ g_once_init_leave (&event_directory_item_type_id__volatile, event_directory_item_type_id);
+ }
+ return event_directory_item_type_id__volatile;
+}
+
+
+static void _vala_event_directory_item_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ EventDirectoryItem * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem);
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ switch (property_id) {
+#line 1727 "EventDirectoryItem.c"
+ default:
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala"
+ break;
+#line 1733 "EventDirectoryItem.c"
+ }
+}
+
+
+
diff --git a/src/events/EventPage.c b/src/events/EventPage.c
new file mode 100644
index 0000000..afe2a26
--- /dev/null
+++ b/src/events/EventPage.c
@@ -0,0 +1,1967 @@
+/* EventPage.c generated by valac 0.32.1, the Vala compiler
+ * generated from EventPage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+typedef struct _MediaPagePrivate MediaPagePrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+typedef struct _CollectionPagePrivate CollectionPagePrivate;
+
+#define TYPE_EVENT_PAGE (event_page_get_type ())
+#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage))
+#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass))
+#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE))
+#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE))
+#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass))
+
+typedef struct _EventPage EventPage;
+typedef struct _EventPageClass EventPageClass;
+typedef struct _EventPagePrivate EventPagePrivate;
+
+#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_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_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 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_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+
+#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_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_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_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_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_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_NO_EVENT_PAGE (no_event_page_get_type ())
+#define NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NO_EVENT_PAGE, NoEventPage))
+#define NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NO_EVENT_PAGE, NoEventPageClass))
+#define IS_NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NO_EVENT_PAGE))
+#define IS_NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NO_EVENT_PAGE))
+#define NO_EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NO_EVENT_PAGE, NoEventPageClass))
+
+typedef struct _NoEventPage NoEventPage;
+typedef struct _NoEventPageClass NoEventPageClass;
+typedef struct _NoEventPagePrivate NoEventPagePrivate;
+
+#define TYPE_VIEW_MANAGER (view_manager_get_type ())
+#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
+#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
+#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
+#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
+#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))
+
+typedef struct _ViewManager ViewManager;
+typedef struct _ViewManagerClass ViewManagerClass;
+
+#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
+#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
+#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
+#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
+#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+
+typedef struct _CollectionViewManager CollectionViewManager;
+typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
+
+#define NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER (no_event_page_no_event_view_manager_get_type ())
+#define NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManager))
+#define NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManagerClass))
+#define NO_EVENT_PAGE_IS_NO_EVENT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER))
+#define NO_EVENT_PAGE_IS_NO_EVENT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER))
+#define NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManagerClass))
+
+typedef struct _NoEventPageNoEventViewManager NoEventPageNoEventViewManager;
+typedef struct _NoEventPageNoEventViewManagerClass NoEventPageNoEventViewManagerClass;
+
+#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_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
+#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
+#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
+
+typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
+typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;
+#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL)))
+
+#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
+#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
+#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
+#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
+#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
+
+typedef struct _VideoSourceCollection VideoSourceCollection;
+typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;
+#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL)))
+typedef struct _ViewManagerPrivate ViewManagerPrivate;
+typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate;
+typedef struct _NoEventPageNoEventViewManagerPrivate NoEventPageNoEventViewManagerPrivate;
+
+#define TYPE_EVENT_ID (event_id_get_type ())
+typedef struct _EventID EventID;
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ RAW_DEVELOPER_SHOTWELL = 0,
+ RAW_DEVELOPER_CAMERA,
+ RAW_DEVELOPER_EMBEDDED
+} RawDeveloper;
+
+struct _MediaPage {
+ CheckerboardPage parent_instance;
+ MediaPagePrivate * priv;
+};
+
+struct _MediaPageClass {
+ CheckerboardPageClass parent_class;
+ void (*on_zoom_changed) (MediaPage* self);
+ void (*on_export) (MediaPage* self);
+ void (*on_increase_size) (MediaPage* self);
+ void (*on_decrease_size) (MediaPage* self);
+ void (*on_increase_rating) (MediaPage* self);
+ void (*on_decrease_rating) (MediaPage* self);
+ void (*on_set_rating) (MediaPage* self, Rating rating);
+ void (*on_rate_rejected) (MediaPage* self);
+ void (*on_rate_unrated) (MediaPage* self);
+ void (*on_rate_one) (MediaPage* self);
+ void (*on_rate_two) (MediaPage* self);
+ void (*on_rate_three) (MediaPage* self);
+ void (*on_rate_four) (MediaPage* self);
+ void (*on_rate_five) (MediaPage* self);
+ void (*on_move_to_trash) (MediaPage* self);
+ void (*on_edit_title) (MediaPage* self);
+ void (*on_edit_comment) (MediaPage* self);
+ void (*on_display_titles) (MediaPage* self, GtkAction* action);
+ void (*on_display_comments) (MediaPage* self, GtkAction* action);
+ void (*on_display_ratings) (MediaPage* self, GtkAction* action);
+ void (*on_display_tags) (MediaPage* self, GtkAction* action);
+ void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
+ void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
+ void (*on_sort_changed) (MediaPage* self);
+ void (*developer_changed) (MediaPage* self, RawDeveloper rd);
+ DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
+};
+
+struct _CollectionPage {
+ MediaPage parent_instance;
+ CollectionPagePrivate * priv;
+};
+
+struct _CollectionPageClass {
+ MediaPageClass parent_class;
+};
+
+struct _EventPage {
+ CollectionPage parent_instance;
+ EventPagePrivate * priv;
+};
+
+struct _EventPageClass {
+ CollectionPageClass parent_class;
+};
+
+struct _EventPagePrivate {
+ Event* page_event;
+};
+
+typedef DataView* (*CreateView) (DataSource* source, void* user_data);
+struct _NoEventPage {
+ CollectionPage parent_instance;
+ NoEventPagePrivate * priv;
+};
+
+struct _NoEventPageClass {
+ CollectionPageClass parent_class;
+};
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+struct _ViewManager {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewManagerPrivate * priv;
+};
+
+struct _ViewManagerClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewManager *self);
+ gboolean (*include_in_view) (ViewManager* self, DataSource* source);
+ DataView* (*create_view) (ViewManager* self, DataSource* source);
+};
+
+struct _CollectionViewManager {
+ ViewManager parent_instance;
+ CollectionViewManagerPrivate * priv;
+};
+
+struct _CollectionViewManagerClass {
+ ViewManagerClass parent_class;
+};
+
+struct _NoEventPageNoEventViewManager {
+ CollectionViewManager parent_instance;
+ NoEventPageNoEventViewManagerPrivate * priv;
+};
+
+struct _NoEventPageNoEventViewManagerClass {
+ CollectionViewManagerClass parent_class;
+};
+
+struct _EventID {
+ gint64 id;
+};
+
+
+static gpointer event_page_parent_class = NULL;
+extern EventSourceCollection* event_global;
+static gpointer no_event_page_parent_class = NULL;
+static Alteration* no_event_page_no_event_page_alteration;
+static Alteration* no_event_page_no_event_page_alteration = NULL;
+extern LibraryPhotoSourceCollection* library_photo_global;
+extern VideoSourceCollection* video_global;
+static gpointer no_event_page_no_event_view_manager_parent_class = NULL;
+
+GType page_get_type (void) G_GNUC_CONST;
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType raw_developer_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType event_page_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;
+#define EVENT_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT_PAGE, EventPagePrivate))
+enum {
+ EVENT_PAGE_DUMMY_PROPERTY
+};
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType container_source_collection_get_type (void) G_GNUC_CONST;
+GType event_source_collection_get_type (void) G_GNUC_CONST;
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+static void event_page_on_events_altered (EventPage* self, GeeMap* map);
+static void _event_page_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+void view_collection_halt_mirroring (ViewCollection* self);
+EventPage* event_page_new (Event* page_event);
+EventPage* event_page_construct (GType object_type, Event* page_event);
+gchar* data_object_get_name (DataObject* self);
+CollectionPage* collection_page_construct (GType object_type, const gchar* page_name);
+void event_mirror_photos (Event* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target);
+DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source);
+static DataView* _media_page_create_thumbnail_create_view (DataSource* source, gpointer self);
+void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path);
+Event* event_page_get_event (EventPage* self);
+static gboolean event_page_real_on_app_key_pressed (Page* base, GdkEventKey* event);
+gint view_collection_get_selected_count (ViewCollection* self);
+gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event);
+static void event_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
+static GtkActionEntry* event_page_real_init_collect_action_entries (Page* base, int* result_length1);
+GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
+#define RESOURCES_MAKE_PRIMARY "shotwell-make-primary"
+#define TRANSLATABLE "translatable"
+static void event_page_on_make_primary (EventPage* self);
+static void _event_page_on_make_primary_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_MAKE_KEY_PHOTO_MENU _ ("Make _Key Photo for Event")
+static void _vala_array_add130 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void event_page_on_rename (EventPage* self);
+static void _event_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self);
+#define RESOURCES_RENAME_EVENT_MENU _ ("Re_name Event...")
+static void _vala_array_add131 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+#define RESOURCES_EDIT_EVENT_COMMENT_MENU _ ("Edit Event _Comment...")
+void media_page_on_edit_comment (MediaPage* self);
+static void _media_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add132 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void event_page_real_init_actions (Page* base, gint selected_count, gint count);
+void page_init_actions (Page* self, gint selected_count, gint count);
+static void event_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_visible (Page* self, const gchar* name, gboolean visible);
+void page_update_actions (Page* self, gint selected_count, gint count);
+static void event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+void configuration_facade_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by);
+static void event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by);
+void configuration_facade_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by);
+void page_set_page_name (Page* self, const gchar* page_name);
+static void event_page_real_on_edit_comment (MediaPage* base);
+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 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 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);
+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);
+GType media_source_get_type (void) G_GNUC_CONST;
+gboolean event_set_primary_source (Event* self, MediaSource* source);
+DataView* view_collection_get_selected_at (ViewCollection* self, gint index);
+DataSource* data_view_get_source (DataView* self);
+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_rename_event_in_sidebar (LibraryWindow* self, Event* event);
+static void event_page_finalize (GObject* obj);
+GType no_event_page_get_type (void) G_GNUC_CONST;
+enum {
+ NO_EVENT_PAGE_DUMMY_PROPERTY
+};
+Alteration* alteration_new (const gchar* subject, const gchar* detail);
+Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail);
+#define NO_EVENT_PAGE_NAME _ ("No Event")
+NoEventPage* no_event_page_new (void);
+NoEventPage* no_event_page_construct (GType object_type);
+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 NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_new (NoEventPage* page);
+static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_construct (GType object_type, NoEventPage* page);
+GType collection_view_manager_get_type (void) G_GNUC_CONST;
+static GType no_event_page_no_event_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+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 media_source_collection_get_type (void) G_GNUC_CONST;
+GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
+GType video_source_collection_get_type (void) G_GNUC_CONST;
+static void no_event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by);
+static void no_event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by);
+enum {
+ NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER_DUMMY_PROPERTY
+};
+CollectionViewManager* collection_view_manager_new (CollectionPage* page);
+CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page);
+static gboolean no_event_page_no_event_view_manager_real_include_in_view (ViewManager* base, DataSource* source);
+GType event_id_get_type (void) G_GNUC_CONST;
+EventID* event_id_dup (const EventID* self);
+void event_id_free (EventID* self);
+void media_source_get_event_id (MediaSource* self, EventID* result);
+#define EVENT_ID_INVALID ((gint64) -1)
+gboolean view_manager_include_in_view (ViewManager* self, DataSource* source);
+static void no_event_page_finalize (GObject* obj);
+
+
+static void _event_page_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
+#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ event_page_on_events_altered ((EventPage*) self, items);
+#line 948 "EventPage.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 955 "EventPage.c"
+}
+
+
+static DataView* _media_page_create_thumbnail_create_view (DataSource* source, gpointer self) {
+ DataView* result;
+ result = media_page_create_thumbnail ((MediaPage*) self, source);
+#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return result;
+#line 964 "EventPage.c"
+}
+
+
+EventPage* event_page_construct (GType object_type, Event* page_event) {
+ EventPage * self = NULL;
+ Event* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ Event* _tmp3_ = NULL;
+ Event* _tmp4_ = NULL;
+ Event* _tmp5_ = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ EventSourceCollection* _tmp8_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_val_if_fail (IS_EVENT (page_event), NULL);
+#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = page_event;
+#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject));
+#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = _tmp1_;
+#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = (EventPage*) collection_page_construct (object_type, _tmp2_);
+#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_free0 (_tmp2_);
+#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = page_event;
+#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (self->priv->page_event);
+#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self->priv->page_event = _tmp4_;
+#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = page_event;
+#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp7_ = _tmp6_;
+#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ event_mirror_photos (_tmp5_, _tmp7_, _media_page_create_thumbnail_create_view, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage));
+#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp7_);
+#line 16 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/EventContextMenu");
+#line 18 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_ = event_global;
+#line 18 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _event_page_on_events_altered_data_collection_items_altered, self, 0);
+#line 10 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return self;
+#line 1017 "EventPage.c"
+}
+
+
+EventPage* event_page_new (Event* page_event) {
+#line 10 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return event_page_construct (TYPE_EVENT_PAGE, page_event);
+#line 1024 "EventPage.c"
+}
+
+
+Event* event_page_get_event (EventPage* self) {
+ Event* result = NULL;
+ Event* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+#line 21 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_val_if_fail (IS_EVENT_PAGE (self), NULL);
+#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = self->priv->page_event;
+#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ result = _tmp1_;
+#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return result;
+#line 1042 "EventPage.c"
+}
+
+
+static gboolean event_page_real_on_app_key_pressed (Page* base, GdkEventKey* event) {
+ EventPage * self;
+ gboolean result = FALSE;
+ GdkEventKey* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ const gchar* _tmp2_ = NULL;
+ GdkEventKey* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+#line 25 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 25 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_val_if_fail (event != NULL, FALSE);
+#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = event;
+#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_->keyval;
+#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = gdk_keyval_name (_tmp1_);
+#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (g_strcmp0 (_tmp2_, "F2") == 0) {
+#line 1066 "EventPage.c"
+ ViewCollection* _tmp3_ = NULL;
+ ViewCollection* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gboolean _tmp6_ = FALSE;
+#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = _tmp3_;
+#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = view_collection_get_selected_count (_tmp4_);
+#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6_ = _tmp5_ != 1;
+#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp4_);
+#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (_tmp6_) {
+#line 32 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ result = TRUE;
+#line 32 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return result;
+#line 1087 "EventPage.c"
+ }
+ }
+#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp7_ = event;
+#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_ = PAGE_CLASS (event_page_parent_class)->on_app_key_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp7_);
+#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ result = _tmp8_;
+#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return result;
+#line 1098 "EventPage.c"
+}
+
+
+static void event_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ EventPage * self;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+#line 44 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 44 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 45 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = ui_filenames;
+#line 45 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ PAGE_CLASS (event_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_);
+#line 47 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = ui_filenames;
+#line 47 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "event.ui");
+#line 1118 "EventPage.c"
+}
+
+
+static void _event_page_on_make_primary_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ event_page_on_make_primary ((EventPage*) self);
+#line 1125 "EventPage.c"
+}
+
+
+static void _vala_array_add130 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if ((*length) == (*size)) {
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1136 "EventPage.c"
+ }
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1140 "EventPage.c"
+}
+
+
+static void _event_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ event_page_on_rename ((EventPage*) self);
+#line 1147 "EventPage.c"
+}
+
+
+static void _vala_array_add131 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if ((*length) == (*size)) {
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1158 "EventPage.c"
+ }
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1162 "EventPage.c"
+}
+
+
+static void _media_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ media_page_on_edit_comment ((MediaPage*) self);
+#line 1169 "EventPage.c"
+}
+
+
+static void _vala_array_add132 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if ((*length) == (*size)) {
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1180 "EventPage.c"
+ }
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1184 "EventPage.c"
+}
+
+
+static GtkActionEntry* event_page_real_init_collect_action_entries (Page* base, int* result_length1) {
+ EventPage * self;
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* new_actions = NULL;
+ gint _tmp0_ = 0;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint new_actions_length1 = 0;
+ gint _new_actions_size_ = 0;
+ GtkActionEntry make_primary = {0};
+ GtkActionEntry _tmp2_ = {0};
+ GtkActionEntry* _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ GtkActionEntry _tmp4_ = {0};
+ GtkActionEntry rename = {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 50 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = PAGE_CLASS (event_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), &_tmp0_);
+#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ new_actions = _tmp1_;
+#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ new_actions_length1 = _tmp0_;
+#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _new_actions_size_ = new_actions_length1;
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_.name = "MakePrimary";
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_.stock_id = RESOURCES_MAKE_PRIMARY;
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_.accelerator = NULL;
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_.tooltip = TRANSLATABLE;
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_.callback = (GCallback) _event_page_on_make_primary_gtk_action_callback;
+#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ make_primary = _tmp2_;
+#line 55 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ make_primary.label = RESOURCES_MAKE_KEY_PHOTO_MENU;
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = new_actions;
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3__length1 = new_actions_length1;
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = make_primary;
+#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_array_add130 (&new_actions, &new_actions_length1, &_new_actions_size_, &_tmp4_);
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_.name = "Rename";
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_.stock_id = NULL;
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_.label = TRANSLATABLE;
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_.accelerator = NULL;
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_.tooltip = TRANSLATABLE;
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_.callback = (GCallback) _event_page_on_rename_gtk_action_callback;
+#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ rename = _tmp5_;
+#line 59 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ rename.label = RESOURCES_RENAME_EVENT_MENU;
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6_ = new_actions;
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6__length1 = new_actions_length1;
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp7_ = rename;
+#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_array_add131 (&new_actions, &new_actions_length1, &_new_actions_size_, &_tmp7_);
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_.name = "EditEventComment";
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_.stock_id = NULL;
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_.label = TRANSLATABLE;
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_.accelerator = NULL;
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_.tooltip = RESOURCES_EDIT_EVENT_COMMENT_MENU;
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_.callback = (GCallback) _media_page_on_edit_comment_gtk_action_callback;
+#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ comment = _tmp8_;
+#line 64 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ comment.label = RESOURCES_EDIT_EVENT_COMMENT_MENU;
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp9_ = new_actions;
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp9__length1 = new_actions_length1;
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp10_ = comment;
+#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_array_add132 (&new_actions, &new_actions_length1, &_new_actions_size_, &_tmp10_);
+#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp11_ = new_actions;
+#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp11__length1 = new_actions_length1;
+#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (result_length1) {
+#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *result_length1 = _tmp11__length1;
+#line 1303 "EventPage.c"
+ }
+#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ result = _tmp11_;
+#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return result;
+#line 1309 "EventPage.c"
+}
+
+
+static void event_page_real_init_actions (Page* base, gint selected_count, gint count) {
+ EventPage * self;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+#line 70 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 71 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = selected_count;
+#line 71 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = count;
+#line 71 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ PAGE_CLASS (event_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_, _tmp1_);
+#line 1325 "EventPage.c"
+}
+
+
+static void event_page_real_update_actions (Page* base, gint selected_count, gint count) {
+ EventPage * self;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 74 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 75 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = selected_count;
+#line 75 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "MakePrimary", _tmp0_ == 1);
+#line 78 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonJumpToEvent", FALSE);
+#line 80 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = selected_count;
+#line 80 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = count;
+#line 80 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ PAGE_CLASS (event_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp1_, _tmp2_);
+#line 84 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditEventComment", TRUE);
+#line 1350 "EventPage.c"
+}
+
+
+static void event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) {
+ EventPage * self;
+ gboolean _vala_sort_order = FALSE;
+ gint _vala_sort_by = 0;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ configuration_facade_get_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_);
+#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_sort_order = _tmp2_;
+#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_sort_by = _tmp3_;
+#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (sort_order) {
+#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *sort_order = _vala_sort_order;
+#line 1380 "EventPage.c"
+ }
+#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (sort_by) {
+#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *sort_by = _vala_sort_by;
+#line 1386 "EventPage.c"
+ }
+}
+
+
+static void event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) {
+ EventPage * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 91 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = sort_order;
+#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = sort_by;
+#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ configuration_facade_set_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_);
+#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1411 "EventPage.c"
+}
+
+
+static void event_page_on_events_altered (EventPage* self, GeeMap* map) {
+ GeeMap* _tmp0_ = NULL;
+ Event* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+#line 95 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_if_fail (IS_EVENT_PAGE (self));
+#line 95 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_if_fail (GEE_IS_MAP (map));
+#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = map;
+#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = self->priv->page_event;
+#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject));
+#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (_tmp2_) {
+#line 1431 "EventPage.c"
+ Event* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = self->priv->page_event;
+#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject));
+#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = _tmp4_;
+#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ page_set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp5_);
+#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_free0 (_tmp5_);
+#line 1445 "EventPage.c"
+ }
+}
+
+
+static void event_page_real_on_edit_comment (MediaPage* base) {
+ EventPage * self;
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+#line 100 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage);
+#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = view_collection_get_selected_count (_tmp1_);
+#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = _tmp2_ == 0;
+#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (_tmp3_) {
+#line 1470 "EventPage.c"
+ EditCommentDialog* edit_comment_dialog = NULL;
+ Event* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+ EditCommentDialog* _tmp7_ = NULL;
+ EditCommentDialog* _tmp8_ = NULL;
+ gchar* new_comment = NULL;
+ EditCommentDialog* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ EditEventCommentCommand* command = NULL;
+ Event* _tmp12_ = NULL;
+ const gchar* _tmp13_ = NULL;
+ EditEventCommentCommand* _tmp14_ = NULL;
+ CommandManager* _tmp15_ = NULL;
+ CommandManager* _tmp16_ = NULL;
+ EditEventCommentCommand* _tmp17_ = NULL;
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = self->priv->page_event;
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_EVENT_SOURCE, EventSource));
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6_ = _tmp5_;
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp7_ = edit_comment_dialog_new (_tmp6_, TRUE);
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_ = _tmp7_;
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_free0 (_tmp6_);
+#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ edit_comment_dialog = _tmp8_;
+#line 104 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp9_ = edit_comment_dialog;
+#line 104 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp10_ = edit_comment_dialog_execute (_tmp9_);
+#line 104 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ new_comment = _tmp10_;
+#line 105 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp11_ = new_comment;
+#line 105 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (_tmp11_ == NULL) {
+#line 106 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_free0 (new_comment);
+#line 106 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog);
+#line 106 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return;
+#line 1518 "EventPage.c"
+ }
+#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp12_ = self->priv->page_event;
+#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp13_ = new_comment;
+#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp14_ = edit_event_comment_command_new (_tmp12_, _tmp13_);
+#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ command = _tmp14_;
+#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp15_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp16_ = _tmp15_;
+#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp17_ = command;
+#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ command_manager_execute (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_COMMAND, Command));
+#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _command_manager_unref0 (_tmp16_);
+#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (command);
+#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_free0 (new_comment);
+#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog);
+#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return;
+#line 1546 "EventPage.c"
+ }
+#line 113 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ MEDIA_PAGE_CLASS (event_page_parent_class)->on_edit_comment (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_MEDIA_PAGE, MediaPage));
+#line 1550 "EventPage.c"
+}
+
+
+static void event_page_on_make_primary (EventPage* self) {
+ ViewCollection* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gboolean _tmp3_ = FALSE;
+ Event* _tmp4_ = NULL;
+ ViewCollection* _tmp5_ = NULL;
+ ViewCollection* _tmp6_ = NULL;
+ DataView* _tmp7_ = NULL;
+ DataView* _tmp8_ = NULL;
+ DataSource* _tmp9_ = NULL;
+ MediaSource* _tmp10_ = NULL;
+#line 116 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_if_fail (IS_EVENT_PAGE (self));
+#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = view_collection_get_selected_count (_tmp1_);
+#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = _tmp2_ != 1;
+#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp1_);
+#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (_tmp3_) {
+#line 118 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return;
+#line 1582 "EventPage.c"
+ }
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = self->priv->page_event;
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6_ = _tmp5_;
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp7_ = view_collection_get_selected_at (_tmp6_, 0);
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_ = _tmp7_;
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp9_ = data_view_get_source (_tmp8_);
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_SOURCE, MediaSource);
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ event_set_primary_source (_tmp4_, _tmp10_);
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp10_);
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp8_);
+#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp6_);
+#line 1606 "EventPage.c"
+}
+
+
+static void event_page_on_rename (EventPage* self) {
+ LibraryWindow* _tmp0_ = NULL;
+ LibraryWindow* _tmp1_ = NULL;
+ Event* _tmp2_ = NULL;
+#line 123 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_if_fail (IS_EVENT_PAGE (self));
+#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = library_window_get_app ();
+#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = self->priv->page_event;
+#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ library_window_rename_event_in_sidebar (_tmp1_, _tmp2_);
+#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1626 "EventPage.c"
+}
+
+
+static void event_page_class_init (EventPageClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ event_page_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_type_class_add_private (klass, sizeof (EventPagePrivate));
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((PageClass *) klass)->on_app_key_pressed = event_page_real_on_app_key_pressed;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = event_page_real_init_collect_ui_filenames;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((PageClass *) klass)->init_collect_action_entries = event_page_real_init_collect_action_entries;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((PageClass *) klass)->init_actions = event_page_real_init_actions;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((PageClass *) klass)->update_actions = event_page_real_update_actions;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((MediaPageClass *) klass)->get_config_photos_sort = event_page_real_get_config_photos_sort;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((MediaPageClass *) klass)->set_config_photos_sort = event_page_real_set_config_photos_sort;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((MediaPageClass *) klass)->on_edit_comment = event_page_real_on_edit_comment;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = event_page_finalize;
+#line 1653 "EventPage.c"
+}
+
+
+static void event_page_instance_init (EventPage * self) {
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self->priv = EVENT_PAGE_GET_PRIVATE (self);
+#line 1660 "EventPage.c"
+}
+
+
+static void event_page_finalize (GObject* obj) {
+ EventPage * self;
+ EventSourceCollection* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ ViewCollection* _tmp2_ = NULL;
+ ViewCollection* _tmp3_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_PAGE, EventPage);
+#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = event_global;
+#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE);
+#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _event_page_on_events_altered_data_collection_items_altered, self);
+#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = _tmp2_;
+#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ view_collection_halt_mirroring (_tmp3_);
+#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp3_);
+#line 8 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (self->priv->page_event);
+#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ G_OBJECT_CLASS (event_page_parent_class)->finalize (obj);
+#line 1690 "EventPage.c"
+}
+
+
+GType event_page_get_type (void) {
+ static volatile gsize event_page_type_id__volatile = 0;
+ if (g_once_init_enter (&event_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventPage), 0, (GInstanceInitFunc) event_page_instance_init, NULL };
+ GType event_page_type_id;
+ event_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "EventPage", &g_define_type_info, 0);
+ g_once_init_leave (&event_page_type_id__volatile, event_page_type_id);
+ }
+ return event_page_type_id__volatile;
+}
+
+
+NoEventPage* no_event_page_construct (GType object_type) {
+ NoEventPage * self = NULL;
+ ViewManager* filter = NULL;
+ NoEventPageNoEventViewManager* _tmp0_ = NULL;
+ ViewCollection* _tmp1_ = NULL;
+ ViewCollection* _tmp2_ = NULL;
+ LibraryPhotoSourceCollection* _tmp3_ = NULL;
+ Alteration* _tmp4_ = NULL;
+ ViewCollectionMonitor* _tmp5_ = NULL;
+ ViewCollectionMonitor* _tmp6_ = NULL;
+ ViewCollection* _tmp7_ = NULL;
+ ViewCollection* _tmp8_ = NULL;
+ VideoSourceCollection* _tmp9_ = NULL;
+ Alteration* _tmp10_ = NULL;
+ ViewCollectionMonitor* _tmp11_ = NULL;
+ ViewCollectionMonitor* _tmp12_ = NULL;
+#line 147 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = (NoEventPage*) collection_page_construct (object_type, NO_EVENT_PAGE_NAME);
+#line 149 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = no_event_page_no_event_view_manager_new (self);
+#line 149 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ filter = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_MANAGER, ViewManager);
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = _tmp1_;
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = library_photo_global;
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = no_event_page_no_event_page_alteration;
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = view_collection_monitor_source_collection (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_COLLECTION, SourceCollection), filter, _tmp4_, NULL, NULL, NULL);
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp6_ = _tmp5_;
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _view_collection_monitor_unref0 (_tmp6_);
+#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp2_);
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp8_ = _tmp7_;
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp9_ = video_global;
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp10_ = no_event_page_no_event_page_alteration;
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp11_ = view_collection_monitor_source_collection (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SOURCE_COLLECTION, SourceCollection), filter, _tmp10_, NULL, NULL, NULL);
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp12_ = _tmp11_;
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _view_collection_monitor_unref0 (_tmp12_);
+#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _data_collection_unref0 (_tmp8_);
+#line 146 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _view_manager_unref0 (filter);
+#line 146 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return self;
+#line 1764 "EventPage.c"
+}
+
+
+NoEventPage* no_event_page_new (void) {
+#line 146 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return no_event_page_construct (TYPE_NO_EVENT_PAGE);
+#line 1771 "EventPage.c"
+}
+
+
+static void no_event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) {
+ NoEventPage * self;
+ gboolean _vala_sort_order = FALSE;
+ gint _vala_sort_by = 0;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NO_EVENT_PAGE, NoEventPage);
+#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ configuration_facade_get_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_);
+#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_sort_order = _tmp2_;
+#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _vala_sort_by = _tmp3_;
+#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (sort_order) {
+#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *sort_order = _vala_sort_order;
+#line 1801 "EventPage.c"
+ }
+#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (sort_by) {
+#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ *sort_by = _vala_sort_by;
+#line 1807 "EventPage.c"
+ }
+}
+
+
+static void no_event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) {
+ NoEventPage * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 158 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NO_EVENT_PAGE, NoEventPage);
+#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = _tmp0_;
+#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp2_ = sort_order;
+#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = sort_by;
+#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ configuration_facade_set_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_);
+#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1832 "EventPage.c"
+}
+
+
+static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_construct (GType object_type, NoEventPage* page) {
+ NoEventPageNoEventViewManager* self = NULL;
+ NoEventPage* _tmp0_ = NULL;
+#line 133 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_val_if_fail (IS_NO_EVENT_PAGE (page), NULL);
+#line 134 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = page;
+#line 134 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = (NoEventPageNoEventViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage));
+#line 133 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return self;
+#line 1847 "EventPage.c"
+}
+
+
+static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_new (NoEventPage* page) {
+#line 133 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return no_event_page_no_event_view_manager_construct (NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, page);
+#line 1854 "EventPage.c"
+}
+
+
+static gboolean no_event_page_no_event_view_manager_real_include_in_view (ViewManager* base, DataSource* source) {
+ NoEventPageNoEventViewManager * self;
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ DataSource* _tmp1_ = NULL;
+ EventID _tmp2_ = {0};
+ gint64 _tmp3_ = 0LL;
+#line 138 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManager);
+#line 138 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE);
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp1_ = source;
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ media_source_get_event_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp2_);
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp3_ = _tmp2_.id;
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ if (_tmp3_ != EVENT_ID_INVALID) {
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = FALSE;
+#line 1879 "EventPage.c"
+ } else {
+ DataSource* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 140 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp4_ = source;
+#line 140 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp5_ = VIEW_MANAGER_CLASS (no_event_page_no_event_view_manager_parent_class)->include_in_view (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager), TYPE_VIEW_MANAGER, ViewManager), _tmp4_);
+#line 140 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = _tmp5_;
+#line 1889 "EventPage.c"
+ }
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ result = _tmp0_;
+#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ return result;
+#line 1895 "EventPage.c"
+}
+
+
+static void no_event_page_no_event_view_manager_class_init (NoEventPageNoEventViewManagerClass * klass) {
+#line 132 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ no_event_page_no_event_view_manager_parent_class = g_type_class_peek_parent (klass);
+#line 132 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((ViewManagerClass *) klass)->include_in_view = no_event_page_no_event_view_manager_real_include_in_view;
+#line 1904 "EventPage.c"
+}
+
+
+static void no_event_page_no_event_view_manager_instance_init (NoEventPageNoEventViewManager * self) {
+}
+
+
+static GType no_event_page_no_event_view_manager_get_type (void) {
+ static volatile gsize no_event_page_no_event_view_manager_type_id__volatile = 0;
+ if (g_once_init_enter (&no_event_page_no_event_view_manager_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (NoEventPageNoEventViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) no_event_page_no_event_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NoEventPageNoEventViewManager), 0, (GInstanceInitFunc) no_event_page_no_event_view_manager_instance_init, NULL };
+ GType no_event_page_no_event_view_manager_type_id;
+ no_event_page_no_event_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "NoEventPageNoEventViewManager", &g_define_type_info, 0);
+ g_once_init_leave (&no_event_page_no_event_view_manager_type_id__volatile, no_event_page_no_event_view_manager_type_id);
+ }
+ return no_event_page_no_event_view_manager_type_id__volatile;
+}
+
+
+static void no_event_page_class_init (NoEventPageClass * klass) {
+ Alteration* _tmp0_ = NULL;
+#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ no_event_page_parent_class = g_type_class_peek_parent (klass);
+#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((MediaPageClass *) klass)->get_config_photos_sort = no_event_page_real_get_config_photos_sort;
+#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ ((MediaPageClass *) klass)->set_config_photos_sort = no_event_page_real_set_config_photos_sort;
+#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = no_event_page_finalize;
+#line 144 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ _tmp0_ = alteration_new ("metadata", "event");
+#line 144 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ no_event_page_no_event_page_alteration = _tmp0_;
+#line 1938 "EventPage.c"
+}
+
+
+static void no_event_page_instance_init (NoEventPage * self) {
+}
+
+
+static void no_event_page_finalize (GObject* obj) {
+ NoEventPage * self;
+#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NO_EVENT_PAGE, NoEventPage);
+#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala"
+ G_OBJECT_CLASS (no_event_page_parent_class)->finalize (obj);
+#line 1952 "EventPage.c"
+}
+
+
+GType no_event_page_get_type (void) {
+ static volatile gsize no_event_page_type_id__volatile = 0;
+ if (g_once_init_enter (&no_event_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (NoEventPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) no_event_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NoEventPage), 0, (GInstanceInitFunc) no_event_page_instance_init, NULL };
+ GType no_event_page_type_id;
+ no_event_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "NoEventPage", &g_define_type_info, 0);
+ g_once_init_leave (&no_event_page_type_id__volatile, no_event_page_type_id);
+ }
+ return no_event_page_type_id__volatile;
+}
+
+
+
diff --git a/src/events/Events.c b/src/events/Events.c
new file mode 100644
index 0000000..d99ab32
--- /dev/null
+++ b/src/events/Events.c
@@ -0,0 +1,36 @@
+/* Events.c generated by valac 0.32.1, the Vala compiler
+ * generated from Events.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+
+
+
+void events_init (GError** error);
+void events_branch_init (void);
+void events_terminate (void);
+void events_branch_terminate (void);
+
+
+void events_init (GError** error) {
+#line 10 "/home/jens/Source/shotwell/src/events/Events.vala"
+ events_branch_init ();
+#line 26 "Events.c"
+}
+
+
+void events_terminate (void) {
+#line 14 "/home/jens/Source/shotwell/src/events/Events.vala"
+ events_branch_terminate ();
+#line 33 "Events.c"
+}
+
+
+
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;
+}
+
+
+
diff --git a/src/events/mk/events.mk b/src/events/mk/events.mk
deleted file mode 100644
index d09fc0f..0000000
--- a/src/events/mk/events.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with
-# a init() and terminate() function declared in the namespace.
-UNIT_NAME := Events
-
-# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all
-# lowercase. The name of this file should be UNIT_DIR.mk.
-UNIT_DIR := events
-
-# All Vala files in the unit should be listed here with no subdirectory prefix.
-#
-# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala.
-UNIT_FILES := \
- Branch.vala \
- EventsDirectoryPage.vala \
- EventPage.vala \
- EventDirectoryItem.vala
-
-# Any unit this unit relies upon (and should be initialized before it's initialized) should
-# be listed here using its Vala namespace.
-#
-# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here.
-UNIT_USES := \
- Sidebar
-
-# List any additional files that are used in the build process as a part of this unit that should
-# be packaged in the tarball. File names should be relative to the unit's home directory.
-UNIT_RC :=
-
-# unitize.mk must be called at the end of each UNIT_DIR.mk file.
-include unitize.mk
-