/* EventsBranch.c generated by valac 0.40.4, the Vala compiler
 * generated from EventsBranch.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;
enum  {
	EVENTS_BRANCH_0_PROPERTY,
	EVENTS_BRANCH_NUM_PROPERTIES
};
static GParamSpec* events_branch_properties[EVENTS_BRANCH_NUM_PROPERTIES];

#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 _Block8Data Block8Data;
typedef struct _Block9Data Block9Data;

#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;
enum  {
	EVENTS_DIRECTORY_ENTRY_0_PROPERTY,
	EVENTS_DIRECTORY_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_directory_entry_properties[EVENTS_DIRECTORY_ENTRY_NUM_PROPERTIES];
typedef struct _EventsMasterDirectoryEntryPrivate EventsMasterDirectoryEntryPrivate;
enum  {
	EVENTS_MASTER_DIRECTORY_ENTRY_0_PROPERTY,
	EVENTS_MASTER_DIRECTORY_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_master_directory_entry_properties[EVENTS_MASTER_DIRECTORY_ENTRY_NUM_PROPERTIES];

#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;
enum  {
	EVENTS_YEAR_DIRECTORY_ENTRY_0_PROPERTY,
	EVENTS_YEAR_DIRECTORY_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_year_directory_entry_properties[EVENTS_YEAR_DIRECTORY_ENTRY_NUM_PROPERTIES];

#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;
enum  {
	EVENTS_MONTH_DIRECTORY_ENTRY_0_PROPERTY,
	EVENTS_MONTH_DIRECTORY_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_month_directory_entry_properties[EVENTS_MONTH_DIRECTORY_ENTRY_NUM_PROPERTIES];
typedef struct _EventsUndatedDirectoryEntryPrivate EventsUndatedDirectoryEntryPrivate;
enum  {
	EVENTS_UNDATED_DIRECTORY_ENTRY_0_PROPERTY,
	EVENTS_UNDATED_DIRECTORY_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_undated_directory_entry_properties[EVENTS_UNDATED_DIRECTORY_ENTRY_NUM_PROPERTIES];

#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;
enum  {
	EVENTS_EVENT_ENTRY_0_PROPERTY,
	EVENTS_EVENT_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_event_entry_properties[EVENTS_EVENT_ENTRY_NUM_PROPERTIES];

#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;
enum  {
	EVENTS_NO_EVENT_ENTRY_0_PROPERTY,
	EVENTS_NO_EVENT_ENTRY_NUM_PROPERTIES
};
static GParamSpec* events_no_event_entry_properties[EVENTS_NO_EVENT_ENTRY_NUM_PROPERTIES];

#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 _Block8Data {
	int _ref_count_;
	EventsBranch* self;
	gint event_month;
};

typedef gboolean (*Locator) (gconstpointer item, void* user_data);
struct _Block9Data {
	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))
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,
                                   const gchar* tooltip,
                                   gboolean emphasized);
SidebarHeader* sidebar_header_construct (GType object_type,
                                         const gchar* name,
                                         const gchar* tooltip,
                                         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 Block8Data* block8_data_ref (Block8Data* _data8_);
static void block8_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 __lambda21_ (Block8Data* _data8_,
                      SidebarEntry* entry);
static gboolean ___lambda21__locator (gconstpointer item,
                               gpointer self);
static Block9Data* block9_data_ref (Block9Data* _data9_);
static void block9_data_unref (void * _userdata_);
static gboolean __lambda20_ (Block9Data* _data9_,
                      SidebarEntry* entry);
static gboolean ___lambda20__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;
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);
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))
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))
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);
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))
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);
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 47 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_on_events_added_removed ((EventsBranch*) self, added, removed);
#line 1125 "EventsBranch.c"
}


static void
_events_branch_on_events_altered_data_collection_items_altered (DataCollection* _sender,
                                                                GeeMap* items,
                                                                gpointer self)
{
#line 48 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_on_events_altered ((EventsBranch*) self, items);
#line 1136 "EventsBranch.c"
}


static void
_events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered (EventSourceCollection* _sender,
                                                                                                   gpointer self)
{
#line 49 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_on_no_event_collection_altered ((EventsBranch*) self);
#line 1146 "EventsBranch.c"
}


static void
_events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed (ConfigurationFacade* _sender,
                                                                                     gpointer self)
{
#line 51 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_on_config_changed ((EventsBranch*) self);
#line 1156 "EventsBranch.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/EventsBranch.vala"
	return result;
#line 1168 "EventsBranch.c"
}


EventsBranch*
events_branch_construct (GType object_type)
{
	EventsBranch * self = NULL;
	SidebarHeader* _tmp0_;
	SidebarHeader* _tmp1_;
	SidebarEntry* _tmp2_;
	SidebarEntry* _tmp3_;
	EventsMasterDirectoryEntry* _tmp4_;
	EventSourceCollection* _tmp14_;
	GeeCollection* _tmp15_;
	GeeCollection* _tmp16_;
	gint _tmp17_;
	gint _tmp18_;
	EventSourceCollection* _tmp19_;
	EventSourceCollection* _tmp20_;
	EventSourceCollection* _tmp21_;
	ConfigFacade* _tmp22_;
	ConfigFacade* _tmp23_;
#line 25 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = sidebar_header_new (_ ("Events"), _ ("Browse through your events"), TRUE);
#line 25 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_;
#line 25 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, 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/EventsBranch.vala"
	_g_object_unref0 (_tmp1_);
#line 29 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 29 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = _tmp2_;
#line 29 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = self->priv->all_events_entry;
#line 29 "/home/jens/Source/shotwell/src/events/EventsBranch.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 29 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp3_);
#line 1209 "EventsBranch.c"
	{
		GeeIterator* _object_it = NULL;
		EventSourceCollection* _tmp5_;
		GeeCollection* _tmp6_;
		GeeCollection* _tmp7_;
		GeeIterator* _tmp8_;
		GeeIterator* _tmp9_;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp5_ = event_global;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp6_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection));
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp7_ = _tmp6_;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable));
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp9_ = _tmp8_;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp7_);
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_object_it = _tmp9_;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		while (TRUE) {
#line 1233 "EventsBranch.c"
			GeeIterator* _tmp10_;
			DataObject* object = NULL;
			GeeIterator* _tmp11_;
			gpointer _tmp12_;
			DataObject* _tmp13_;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp10_ = _object_it;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			if (!gee_iterator_next (_tmp10_)) {
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				break;
#line 1245 "EventsBranch.c"
			}
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp11_ = _object_it;
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp12_ = gee_iterator_get (_tmp11_);
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			object = (DataObject*) _tmp12_;
#line 33 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp13_ = object;
#line 33 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			events_branch_add_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_EVENT, Event));
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (object);
#line 1259 "EventsBranch.c"
		}
#line 32 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_object_it);
#line 1263 "EventsBranch.c"
	}
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp14_ = event_global;
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp15_ = event_source_collection_get_no_event_objects (_tmp14_);
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp16_ = _tmp15_;
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp17_ = gee_collection_get_size (_tmp16_);
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp18_ = _tmp17_;
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_show_no_events (self, _tmp18_ > 0);
#line 35 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp16_);
#line 38 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp19_ = event_global;
#line 38 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _events_branch_on_events_added_removed_data_collection_contents_altered, self, 0);
#line 39 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp20_ = event_global;
#line 39 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _events_branch_on_events_altered_data_collection_items_altered, self, 0);
#line 40 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp21_ = event_global;
#line 40 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_connect_object (_tmp21_, "no-event-collection-altered", (GCallback) _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered, self, 0);
#line 43 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp22_ = config_facade_get_instance ();
#line 43 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp23_ = _tmp22_;
#line 43 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "events-sort-ascending-changed", (GCallback) _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed, self, 0);
#line 43 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp23_);
#line 24 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 1301 "EventsBranch.c"
}


EventsBranch*
events_branch_new (void)
{
#line 24 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_branch_construct (EVENTS_TYPE_BRANCH);
#line 1310 "EventsBranch.c"
}


void
events_branch_init (void)
{
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
#line 55 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = config_facade_get_instance ();
#line 55 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_;
#line 55 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_sort_ascending = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 55 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp1_);
#line 1327 "EventsBranch.c"
}


void
events_branch_terminate (void)
{
}


gboolean
events_branch_is_user_renameable (EventsBranch* self)
{
	gboolean result = FALSE;
#line 61 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_BRANCH (self), FALSE);
#line 62 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = TRUE;
#line 62 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1347 "EventsBranch.c"
}


static gpointer
_g_object_ref0 (gpointer self)
{
#line 66 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self ? g_object_ref (self) : NULL;
#line 1356 "EventsBranch.c"
}


EventsMasterDirectoryEntry*
events_branch_get_master_entry (EventsBranch* self)
{
	EventsMasterDirectoryEntry* result = NULL;
	EventsMasterDirectoryEntry* _tmp0_;
	EventsMasterDirectoryEntry* _tmp1_;
#line 65 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
#line 66 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->all_events_entry;
#line 66 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 66 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 66 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1376 "EventsBranch.c"
}


static gint
events_branch_event_year_comparator (SidebarEntry* a,
                                     SidebarEntry* b)
{
	gint result = 0;
	gboolean _tmp0_;
	gint _result_ = 0;
	gint _tmp3_;
#line 69 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
#line 69 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
#line 70 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (a == b) {
#line 71 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = 0;
#line 71 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1398 "EventsBranch.c"
	}
#line 75 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (a, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) {
#line 76 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (b, EVENTS_TYPE_NO_EVENT_ENTRY)) {
#line 77 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			result = -1;
#line 77 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			return result;
#line 1408 "EventsBranch.c"
		}
#line 78 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = 1;
#line 78 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1414 "EventsBranch.c"
	} else {
#line 79 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (b, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) {
#line 80 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (a, EVENTS_TYPE_NO_EVENT_ENTRY)) {
#line 81 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				result = 1;
#line 81 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				return result;
#line 1424 "EventsBranch.c"
			}
#line 82 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			result = -1;
#line 82 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			return result;
#line 1430 "EventsBranch.c"
		}
	}
#line 85 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (a, EVENTS_TYPE_NO_EVENT_ENTRY)) {
#line 86 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = 1;
#line 86 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1439 "EventsBranch.c"
	} else {
#line 87 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (b, EVENTS_TYPE_NO_EVENT_ENTRY)) {
#line 88 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			result = -1;
#line 88 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			return result;
#line 1447 "EventsBranch.c"
		}
	}
#line 91 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (a, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) {
#line 92 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = -1;
#line 92 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1456 "EventsBranch.c"
	} else {
#line 93 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (b, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) {
#line 94 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			result = 1;
#line 94 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			return result;
#line 1464 "EventsBranch.c"
		}
	}
#line 96 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_sort_ascending;
#line 96 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (!_tmp0_) {
#line 1471 "EventsBranch.c"
		SidebarEntry* swap = NULL;
		SidebarEntry* _tmp1_;
		SidebarEntry* _tmp2_;
#line 97 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = _g_object_ref0 (a);
#line 97 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		swap = _tmp1_;
#line 98 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		a = b;
#line 99 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = swap;
#line 99 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		b = _tmp2_;
#line 96 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (swap);
#line 1487 "EventsBranch.c"
	}
#line 102 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_result_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (a, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry)) - events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (b, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry));
#line 104 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = _result_;
#line 104 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp3_ != 0, "result != 0");
#line 106 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _result_;
#line 106 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1499 "EventsBranch.c"
}


static gint
events_branch_event_month_comparator (SidebarEntry* a,
                                      SidebarEntry* b)
{
	gint result = 0;
	gboolean _tmp0_;
	gint _result_ = 0;
	gint _tmp3_;
#line 109 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
#line 109 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
#line 110 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (a == b) {
#line 111 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = 0;
#line 111 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1521 "EventsBranch.c"
	}
#line 113 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_sort_ascending;
#line 113 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (!_tmp0_) {
#line 1527 "EventsBranch.c"
		SidebarEntry* swap = NULL;
		SidebarEntry* _tmp1_;
		SidebarEntry* _tmp2_;
#line 114 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = _g_object_ref0 (a);
#line 114 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		swap = _tmp1_;
#line 115 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		a = b;
#line 116 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = swap;
#line 116 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		b = _tmp2_;
#line 113 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (swap);
#line 1543 "EventsBranch.c"
	}
#line 119 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_result_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (a, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry)) - events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (b, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry));
#line 121 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = _result_;
#line 121 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp3_ != 0, "result != 0");
#line 123 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _result_;
#line 123 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1555 "EventsBranch.c"
}


static gint
events_branch_event_comparator (SidebarEntry* a,
                                SidebarEntry* b)
{
	gint result = 0;
	gboolean _tmp0_;
	gint64 _result_ = 0LL;
	Event* _tmp3_;
	Event* _tmp4_;
	Event* _tmp5_;
	Event* _tmp6_;
	gint64 _tmp7_;
	gint64 _tmp8_;
	gint64 _tmp17_;
	gint _tmp18_ = 0;
	gint64 _tmp19_;
#line 126 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
#line 126 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
#line 127 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (a == b) {
#line 128 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = 0;
#line 128 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1585 "EventsBranch.c"
	}
#line 130 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_sort_ascending;
#line 130 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (!_tmp0_) {
#line 1591 "EventsBranch.c"
		SidebarEntry* swap = NULL;
		SidebarEntry* _tmp1_;
		SidebarEntry* _tmp2_;
#line 131 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = _g_object_ref0 (a);
#line 131 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		swap = _tmp1_;
#line 132 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		a = b;
#line 133 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = swap;
#line 133 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		b = _tmp2_;
#line 130 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (swap);
#line 1607 "EventsBranch.c"
	}
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (a, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = _tmp3_;
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (b, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = _tmp5_;
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp7_ = (gint64) (event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_EVENT_SOURCE, EventSource)) - event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT_SOURCE, EventSource)));
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp6_);
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp4_);
#line 136 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_result_ = _tmp7_;
#line 140 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp8_ = _result_;
#line 140 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp8_ == ((gint64) 0)) {
#line 1629 "EventsBranch.c"
		Event* _tmp9_;
		Event* _tmp10_;
		EventID _tmp11_ = {0};
		gint64 _tmp12_;
		Event* _tmp13_;
		Event* _tmp14_;
		EventID _tmp15_ = {0};
		gint64 _tmp16_;
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp9_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (a, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp10_ = _tmp9_;
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		event_get_event_id (_tmp10_, &_tmp11_);
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp12_ = _tmp11_.id;
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp13_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (b, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp14_ = _tmp13_;
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		event_get_event_id (_tmp14_, &_tmp15_);
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp16_ = _tmp15_.id;
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_result_ = _tmp12_ - _tmp16_;
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp14_);
#line 141 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp10_);
#line 1660 "EventsBranch.c"
	}
#line 145 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp17_ = _result_;
#line 145 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp17_ != ((gint64) 0), "result != 0");
#line 147 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp19_ = _result_;
#line 147 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp19_ < ((gint64) 0)) {
#line 147 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp18_ = -1;
#line 1672 "EventsBranch.c"
	} else {
#line 147 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp18_ = 1;
#line 1676 "EventsBranch.c"
	}
#line 147 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp18_;
#line 147 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1682 "EventsBranch.c"
}


static gint
events_branch_undated_event_comparator (SidebarEntry* a,
                                        SidebarEntry* b)
{
	gint result = 0;
	gboolean _tmp0_;
	gint ret = 0;
	Event* _tmp3_;
	Event* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	Event* _tmp7_;
	Event* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gint _tmp11_;
	gint _tmp12_;
#line 150 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
#line 150 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
#line 151 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (a == b) {
#line 152 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = 0;
#line 152 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 1713 "EventsBranch.c"
	}
#line 154 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_sort_ascending;
#line 154 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (!_tmp0_) {
#line 1719 "EventsBranch.c"
		SidebarEntry* swap = NULL;
		SidebarEntry* _tmp1_;
		SidebarEntry* _tmp2_;
#line 155 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = _g_object_ref0 (a);
#line 155 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		swap = _tmp1_;
#line 156 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		a = b;
#line 157 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = swap;
#line 157 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		b = _tmp2_;
#line 154 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (swap);
#line 1735 "EventsBranch.c"
	}
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (a, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = _tmp3_;
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject));
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = _tmp5_;
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp7_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (b, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp8_ = _tmp7_;
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp9_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject));
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp10_ = _tmp9_;
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp11_ = g_utf8_collate (_tmp6_, _tmp10_);
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (_tmp10_);
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp8_);
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (_tmp6_);
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp4_);
#line 160 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	ret = _tmp11_;
#line 163 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp12_ = ret;
#line 163 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp12_ == 0) {
#line 1769 "EventsBranch.c"
		Event* _tmp13_;
		Event* _tmp14_;
		Event* _tmp15_;
		Event* _tmp16_;
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp13_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (b, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp14_ = _tmp13_;
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp15_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (a, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry));
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp16_ = _tmp15_;
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		ret = (gint) (data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_SOURCE, DataSource)) - data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource)));
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp16_);
#line 164 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp14_);
#line 1788 "EventsBranch.c"
	}
#line 167 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = ret;
#line 167 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1794 "EventsBranch.c"
}


EventsEventEntry*
events_branch_get_entry_for_event (EventsBranch* self,
                                   Event* event)
{
	EventsEventEntry* result = NULL;
	GeeHashMap* _tmp0_;
	gpointer _tmp1_;
#line 170 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
#line 170 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (IS_EVENT (event), NULL);
#line 171 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->entry_map;
#line 171 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), event);
#line 171 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = (EventsEventEntry*) _tmp1_;
#line 171 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 1817 "EventsBranch.c"
}


static void
events_branch_on_config_changed (EventsBranch* self)
{
	gboolean value = FALSE;
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	gboolean _tmp2_;
#line 174 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 175 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = config_facade_get_instance ();
#line 175 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_;
#line 175 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 175 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp1_);
#line 175 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	value = _tmp2_;
#line 177 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_sort_ascending = value;
#line 178 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	sidebar_branch_reorder_all (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 1844 "EventsBranch.c"
}


static void
events_branch_on_events_added_removed (EventsBranch* self,
                                       GeeIterable* added,
                                       GeeIterable* removed)
{
#line 181 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 181 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added));
#line 181 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed));
#line 183 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (added != NULL) {
#line 1861 "EventsBranch.c"
		{
			GeeIterator* _object_it = NULL;
			GeeIterator* _tmp0_;
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp0_ = gee_iterable_iterator (added);
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_object_it = _tmp0_;
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			while (TRUE) {
#line 1871 "EventsBranch.c"
				GeeIterator* _tmp1_;
				DataObject* object = NULL;
				GeeIterator* _tmp2_;
				gpointer _tmp3_;
				DataObject* _tmp4_;
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp1_ = _object_it;
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				if (!gee_iterator_next (_tmp1_)) {
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					break;
#line 1883 "EventsBranch.c"
				}
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp2_ = _object_it;
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp3_ = gee_iterator_get (_tmp2_);
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				object = (DataObject*) _tmp3_;
#line 185 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp4_ = object;
#line 185 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				events_branch_add_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_EVENT, Event));
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_g_object_unref0 (object);
#line 1897 "EventsBranch.c"
			}
#line 184 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (_object_it);
#line 1901 "EventsBranch.c"
		}
	}
#line 188 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (removed != NULL) {
#line 1906 "EventsBranch.c"
		{
			GeeIterator* _object_it = NULL;
			GeeIterator* _tmp5_;
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp5_ = gee_iterable_iterator (removed);
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_object_it = _tmp5_;
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			while (TRUE) {
#line 1916 "EventsBranch.c"
				GeeIterator* _tmp6_;
				DataObject* object = NULL;
				GeeIterator* _tmp7_;
				gpointer _tmp8_;
				DataObject* _tmp9_;
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp6_ = _object_it;
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				if (!gee_iterator_next (_tmp6_)) {
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					break;
#line 1928 "EventsBranch.c"
				}
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp7_ = _object_it;
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp8_ = gee_iterator_get (_tmp7_);
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				object = (DataObject*) _tmp8_;
#line 190 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp9_ = object;
#line 190 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				events_branch_remove_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT, Event));
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_g_object_unref0 (object);
#line 1942 "EventsBranch.c"
			}
#line 189 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (_object_it);
#line 1946 "EventsBranch.c"
		}
	}
}


static void
events_branch_on_events_altered (EventsBranch* self,
                                 GeeMap* altered)
{
#line 194 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 194 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (GEE_IS_MAP (altered));
#line 1960 "EventsBranch.c"
	{
		GeeIterator* _object_it = NULL;
		GeeSet* _tmp0_;
		GeeSet* _tmp1_;
		GeeSet* _tmp2_;
		GeeIterator* _tmp3_;
		GeeIterator* _tmp4_;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp0_ = gee_map_get_keys (altered);
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = _tmp0_;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = _tmp1_;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable));
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp4_ = _tmp3_;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp2_);
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_object_it = _tmp4_;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		while (TRUE) {
#line 1984 "EventsBranch.c"
			GeeIterator* _tmp5_;
			DataObject* object = NULL;
			GeeIterator* _tmp6_;
			gpointer _tmp7_;
			Event* event = NULL;
			DataObject* _tmp8_;
			Event* _tmp9_;
			Alteration* alteration = NULL;
			DataObject* _tmp10_;
			gpointer _tmp11_;
			Alteration* _tmp12_;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp5_ = _object_it;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			if (!gee_iterator_next (_tmp5_)) {
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				break;
#line 2002 "EventsBranch.c"
			}
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp6_ = _object_it;
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp7_ = gee_iterator_get (_tmp6_);
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			object = (DataObject*) _tmp7_;
#line 196 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp8_ = object;
#line 196 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_EVENT, Event));
#line 196 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			event = _tmp9_;
#line 197 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp10_ = object;
#line 197 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp11_ = gee_map_get (altered, _tmp10_);
#line 197 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			alteration = (Alteration*) _tmp11_;
#line 199 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp12_ = alteration;
#line 199 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			if (alteration_has_detail (_tmp12_, "metadata", "time")) {
#line 2026 "EventsBranch.c"
				Event* _tmp13_;
#line 202 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp13_ = event;
#line 202 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				events_branch_move_event (self, _tmp13_);
#line 2032 "EventsBranch.c"
			} else {
				Alteration* _tmp14_;
#line 203 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				_tmp14_ = alteration;
#line 203 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				if (alteration_has_detail (_tmp14_, "metadata", "name")) {
#line 2039 "EventsBranch.c"
					EventsEventEntry* entry = NULL;
					GeeHashMap* _tmp15_;
					Event* _tmp16_;
					gpointer _tmp17_;
					EventsEventEntry* _tmp18_;
					EventsEventEntry* _tmp19_;
					Event* _tmp20_;
					gchar* _tmp21_;
					gchar* _tmp22_;
					EventsEventEntry* _tmp23_;
					Event* _tmp24_;
					gchar* _tmp25_;
					gchar* _tmp26_;
#line 204 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp15_ = self->priv->entry_map;
#line 204 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp16_ = event;
#line 204 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp17_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_);
#line 204 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					entry = (EventsEventEntry*) _tmp17_;
#line 205 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp18_ = entry;
#line 205 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_vala_assert (_tmp18_ != NULL, "entry != null");
#line 207 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp19_ = entry;
#line 207 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp20_ = event;
#line 207 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp21_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject));
#line 207 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp22_ = _tmp21_;
#line 207 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry), "sidebar-name-changed", _tmp22_);
#line 207 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_g_free0 (_tmp22_);
#line 208 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp23_ = entry;
#line 208 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp24_ = event;
#line 208 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp25_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_OBJECT, DataObject));
#line 208 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_tmp26_ = _tmp25_;
#line 208 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-tooltip-changed", _tmp26_);
#line 208 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_g_free0 (_tmp26_);
#line 203 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
					_g_object_unref0 (entry);
#line 2091 "EventsBranch.c"
				}
			}
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_alteration_unref0 (alteration);
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (event);
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (object);
#line 2100 "EventsBranch.c"
		}
#line 195 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_object_it);
#line 2104 "EventsBranch.c"
	}
}


static void
events_branch_on_no_event_collection_altered (EventsBranch* self)
{
	EventSourceCollection* _tmp0_;
	GeeCollection* _tmp1_;
	GeeCollection* _tmp2_;
	gint _tmp3_;
	gint _tmp4_;
#line 213 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = event_global;
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = event_source_collection_get_no_event_objects (_tmp0_);
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = _tmp1_;
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = gee_collection_get_size (_tmp2_);
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = _tmp3_;
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_show_no_events (self, _tmp4_ > 0);
#line 214 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp2_);
#line 2133 "EventsBranch.c"
}


static void
g_time_local (time_t time,
              struct tm* result)
{
	struct tm _result_ = {0};
	struct tm _tmp0_ = {0};
#line 2866 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	localtime_r (&time, &_tmp0_);
#line 2866 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_result_ = _tmp0_;
#line 2867 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	*result = _result_;
#line 2867 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return;
#line 2151 "EventsBranch.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 230 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2163 "EventsBranch.c"
}


static gchar*
g_time_format (struct tm *self,
               const gchar* format)
{
	gchar* result = NULL;
	gchar* buffer = NULL;
	gchar* _tmp0_;
	gint buffer_length1;
	gint _buffer_size_;
	gchar* _tmp1_;
	gint _tmp1__length1;
	gchar* _tmp2_;
	gint _tmp2__length1;
	gchar* _tmp3_;
#line 2874 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (format != NULL, NULL);
#line 2875 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = g_new0 (gchar, 64);
#line 2875 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	buffer = _tmp0_;
#line 2875 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	buffer_length1 = 64;
#line 2875 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_buffer_size_ = buffer_length1;
#line 2876 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1_ = buffer;
#line 2876 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1__length1 = buffer_length1;
#line 2876 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	strftime (_tmp1_, _tmp1__length1, format, &(*self));
#line 2877 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp2_ = buffer;
#line 2877 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp2__length1 = buffer_length1;
#line 2877 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp3_ = g_strdup ((const gchar*) _tmp2_);
#line 2877 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp3_;
#line 2877 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	buffer = (g_free (buffer), NULL);
#line 2877 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 2209 "EventsBranch.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 238 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2221 "EventsBranch.c"
}


static void
events_branch_add_event (EventsBranch* self,
                         Event* event)
{
	time_t event_time = 0;
	time_t _tmp0_;
	struct tm event_tm = {0};
	time_t _tmp1_;
	struct tm _tmp2_ = {0};
	SidebarEntry* year = NULL;
	SidebarEntry* month = NULL;
	struct tm _tmp3_;
	SidebarEntry* _tmp4_ = NULL;
	SidebarEntry* _tmp5_;
	SidebarEntry* _tmp6_;
	SidebarEntry* _tmp8_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	struct tm _tmp18_;
	EventsMonthDirectoryEntry* _tmp19_;
	SidebarEntry* _tmp20_;
	SidebarEntry* _tmp21_;
	SidebarEntry* _tmp22_;
#line 217 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 217 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 218 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	event_time = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_EVENT_SOURCE, EventSource));
#line 219 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = event_time;
#line 219 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp0_ == ((time_t) 0)) {
#line 220 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		events_branch_add_undated_event (self, event);
#line 222 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return;
#line 2262 "EventsBranch.c"
	}
#line 225 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = event_time;
#line 225 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_time_local (_tmp1_, &_tmp2_);
#line 225 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	event_tm = _tmp2_;
#line 228 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = event_tm;
#line 228 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = events_branch_find_event_month (self, event, &_tmp3_, &_tmp4_);
#line 228 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (year);
#line 228 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	year = _tmp4_;
#line 228 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	month = _tmp5_;
#line 229 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = month;
#line 229 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp6_ != NULL) {
#line 2284 "EventsBranch.c"
		SidebarEntry* _tmp7_;
#line 230 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp7_ = month;
#line 230 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		events_branch_graft_event (self, _tmp7_, event, _events_branch_event_comparator_gcompare_func);
#line 232 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (month);
#line 232 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (year);
#line 232 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return;
#line 2296 "EventsBranch.c"
	}
#line 235 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp8_ = year;
#line 235 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp8_ == NULL) {
#line 2302 "EventsBranch.c"
		gchar* _tmp9_;
		gchar* _tmp10_;
		struct tm _tmp11_;
		EventsYearDirectoryEntry* _tmp12_;
		SidebarEntry* _tmp13_;
		SidebarEntry* _tmp14_;
		SidebarEntry* _tmp15_;
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp9_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT);
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp10_ = _tmp9_;
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp11_ = event_tm;
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp12_ = events_year_directory_entry_new (_tmp10_, &_tmp11_);
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (year);
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		year = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
#line 236 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_free0 (_tmp10_);
#line 238 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp13_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 238 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp14_ = _tmp13_;
#line 238 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp15_ = year;
#line 238 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp14_, _tmp15_, _events_branch_event_month_comparator_gcompare_func);
#line 238 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp14_);
#line 2334 "EventsBranch.c"
	}
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp16_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT);
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp17_ = _tmp16_;
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp18_ = event_tm;
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp19_ = events_month_directory_entry_new (_tmp17_, &_tmp18_);
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (month);
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	month = G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
#line 241 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (_tmp17_);
#line 243 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp20_ = year;
#line 243 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp21_ = month;
#line 243 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp20_, _tmp21_, _events_branch_event_comparator_gcompare_func);
#line 245 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp22_ = month;
#line 245 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_graft_event (self, _tmp22_, event, _events_branch_event_comparator_gcompare_func);
#line 217 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (month);
#line 217 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (year);
#line 2364 "EventsBranch.c"
}


static void
events_branch_move_event (EventsBranch* self,
                          Event* event)
{
	time_t event_time = 0;
	time_t _tmp0_;
	struct tm event_tm = {0};
	time_t _tmp1_;
	struct tm _tmp2_ = {0};
	SidebarEntry* year = NULL;
	SidebarEntry* month = NULL;
	struct tm _tmp3_;
	SidebarEntry* _tmp4_ = NULL;
	SidebarEntry* _tmp5_;
	SidebarEntry* _tmp6_;
	SidebarEntry* _tmp14_;
	SidebarEntry* _tmp21_;
#line 248 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 248 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 249 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	event_time = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_EVENT_SOURCE, EventSource));
#line 250 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = event_time;
#line 250 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp0_ == ((time_t) 0)) {
#line 251 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		events_branch_move_to_undated_event (self, event);
#line 253 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return;
#line 2399 "EventsBranch.c"
	}
#line 256 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = event_time;
#line 256 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_time_local (_tmp1_, &_tmp2_);
#line 256 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	event_tm = _tmp2_;
#line 259 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = event_tm;
#line 259 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = events_branch_find_event_month (self, event, &_tmp3_, &_tmp4_);
#line 259 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (year);
#line 259 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	year = _tmp4_;
#line 259 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	month = _tmp5_;
#line 261 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = year;
#line 261 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp6_ == NULL) {
#line 2421 "EventsBranch.c"
		gchar* _tmp7_;
		gchar* _tmp8_;
		struct tm _tmp9_;
		EventsYearDirectoryEntry* _tmp10_;
		SidebarEntry* _tmp11_;
		SidebarEntry* _tmp12_;
		SidebarEntry* _tmp13_;
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp7_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT);
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp8_ = _tmp7_;
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp9_ = event_tm;
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp10_ = events_year_directory_entry_new (_tmp8_, &_tmp9_);
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (year);
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		year = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
#line 262 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_free0 (_tmp8_);
#line 264 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp11_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 264 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp12_ = _tmp11_;
#line 264 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp13_ = year;
#line 264 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp12_, _tmp13_, _events_branch_event_month_comparator_gcompare_func);
#line 264 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp12_);
#line 2453 "EventsBranch.c"
	}
#line 267 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp14_ = month;
#line 267 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp14_ == NULL) {
#line 2459 "EventsBranch.c"
		gchar* _tmp15_;
		gchar* _tmp16_;
		struct tm _tmp17_;
		EventsMonthDirectoryEntry* _tmp18_;
		SidebarEntry* _tmp19_;
		SidebarEntry* _tmp20_;
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp15_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT);
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp16_ = _tmp15_;
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp17_ = event_tm;
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp18_ = events_month_directory_entry_new (_tmp16_, &_tmp17_);
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (month);
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		month = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
#line 268 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_free0 (_tmp16_);
#line 270 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp19_ = year;
#line 270 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp20_ = month;
#line 270 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp19_, _tmp20_, _events_branch_event_comparator_gcompare_func);
#line 2486 "EventsBranch.c"
	}
#line 273 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp21_ = month;
#line 273 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_reparent_event (self, event, _tmp21_);
#line 248 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (month);
#line 248 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (year);
#line 2496 "EventsBranch.c"
}


static void
events_branch_remove_event (EventsBranch* self,
                            Event* event)
{
	SidebarEntry* entry = NULL;
	gboolean removed = FALSE;
	GeeHashMap* _tmp0_;
	gpointer _tmp1_ = NULL;
	gboolean _tmp2_;
	gboolean _tmp3_;
	SidebarEntry* parent = NULL;
	SidebarEntry* _tmp4_;
	SidebarEntry* _tmp5_;
	SidebarEntry* _tmp6_;
	SidebarEntry* _tmp7_;
#line 276 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 276 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 280 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->entry_map;
#line 280 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), event, &_tmp1_);
#line 280 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (entry);
#line 280 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	entry = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry);
#line 280 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	removed = _tmp2_;
#line 281 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = removed;
#line 281 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp3_, "removed");
#line 283 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = entry;
#line 283 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp4_);
#line 283 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	parent = _tmp5_;
#line 284 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = parent;
#line 284 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp6_ != NULL, "parent != null");
#line 286 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp7_ = entry;
#line 286 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp7_);
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	while (TRUE) {
#line 2549 "EventsBranch.c"
		gboolean _tmp8_ = FALSE;
		SidebarEntry* _tmp9_;
		SidebarEntry* grandparent = NULL;
		SidebarEntry* _tmp13_;
		SidebarEntry* _tmp14_;
		SidebarEntry* _tmp15_;
		SidebarEntry* _tmp16_;
		SidebarEntry* _tmp17_;
		SidebarEntry* _tmp18_;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp9_ = parent;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp9_) == 0) {
#line 2563 "EventsBranch.c"
			SidebarEntry* _tmp10_;
			SidebarEntry* _tmp11_;
			SidebarEntry* _tmp12_;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp10_ = parent;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp11_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp12_ = _tmp11_;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp8_ = _tmp10_ != _tmp12_;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (_tmp12_);
#line 2577 "EventsBranch.c"
		} else {
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp8_ = FALSE;
#line 2581 "EventsBranch.c"
		}
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (!_tmp8_) {
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			break;
#line 2587 "EventsBranch.c"
		}
#line 290 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp13_ = parent;
#line 290 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp14_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp13_);
#line 290 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		grandparent = _tmp14_;
#line 291 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp15_ = grandparent;
#line 291 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_vala_assert (_tmp15_ != NULL, "grandparent != null");
#line 293 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp16_ = parent;
#line 293 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp16_);
#line 295 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp17_ = grandparent;
#line 295 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp18_ = _g_object_ref0 (_tmp17_);
#line 295 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (parent);
#line 295 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		parent = _tmp18_;
#line 289 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (grandparent);
#line 2613 "EventsBranch.c"
	}
#line 276 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (parent);
#line 276 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (entry);
#line 2619 "EventsBranch.c"
}


static Block8Data*
block8_data_ref (Block8Data* _data8_)
{
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_atomic_int_inc (&_data8_->_ref_count_);
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return _data8_;
#line 2630 "EventsBranch.c"
}


static void
block8_data_unref (void * _userdata_)
{
	Block8Data* _data8_;
	_data8_ = (Block8Data*) _userdata_;
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (g_atomic_int_dec_and_test (&_data8_->_ref_count_)) {
#line 2641 "EventsBranch.c"
		EventsBranch* self;
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		self = _data8_->self;
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (self);
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		g_slice_free (Block8Data, _data8_);
#line 2649 "EventsBranch.c"
	}
}


static gboolean
__lambda21_ (Block8Data* _data8_,
             SidebarEntry* entry)
{
	EventsBranch* self;
	gboolean result = FALSE;
	gint _tmp0_;
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = _data8_->self;
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE);
#line 309 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = _data8_->event_month;
#line 309 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (entry, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry)) == _tmp0_;
#line 309 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2671 "EventsBranch.c"
}


static gboolean
___lambda21__locator (gconstpointer item,
                      gpointer self)
{
	gboolean result;
	result = __lambda21_ (self, (SidebarEntry*) item);
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2683 "EventsBranch.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;
	Block8Data* _data8_;
	struct tm _tmp0_;
	SidebarEntry* _tmp1_;
	SidebarEntry* _tmp2_;
	struct tm _tmp3_;
	gint _tmp4_;
	SidebarEntry* _tmp5_;
	SidebarEntry* _tmp6_;
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (IS_EVENT (event), NULL);
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (event_tm != NULL, NULL);
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data8_ = g_slice_new0 (Block8Data);
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data8_->_ref_count_ = 1;
#line 299 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data8_->self = g_object_ref (self);
#line 301 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = *event_tm;
#line 301 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = events_branch_find_event_year (self, event, &_tmp0_);
#line 301 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_vala_found_year);
#line 301 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_found_year = _tmp1_;
#line 302 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = _vala_found_year;
#line 302 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp2_ == NULL) {
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = NULL;
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		block8_data_unref (_data8_);
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_data8_ = NULL;
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (found_year) {
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			*found_year = _vala_found_year;
#line 2737 "EventsBranch.c"
		} else {
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (_vala_found_year);
#line 2741 "EventsBranch.c"
		}
#line 303 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 2745 "EventsBranch.c"
	}
#line 305 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = *event_tm;
#line 305 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = _tmp3_.tm_mon;
#line 305 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data8_->event_month = _tmp4_ + 1;
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = _vala_found_year;
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = sidebar_branch_find_first_child (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_, ___lambda21__locator, _data8_);
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp6_;
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	block8_data_unref (_data8_);
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data8_ = NULL;
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (found_year) {
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		*found_year = _vala_found_year;
#line 2767 "EventsBranch.c"
	} else {
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_vala_found_year);
#line 2771 "EventsBranch.c"
	}
#line 308 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2775 "EventsBranch.c"
}


static Block9Data*
block9_data_ref (Block9Data* _data9_)
{
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_atomic_int_inc (&_data9_->_ref_count_);
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return _data9_;
#line 2786 "EventsBranch.c"
}


static void
block9_data_unref (void * _userdata_)
{
	Block9Data* _data9_;
	_data9_ = (Block9Data*) _userdata_;
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) {
#line 2797 "EventsBranch.c"
		EventsBranch* self;
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		self = _data9_->self;
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (self);
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		g_slice_free (Block9Data, _data9_);
#line 2805 "EventsBranch.c"
	}
}


static gboolean
__lambda20_ (Block9Data* _data9_,
             SidebarEntry* entry)
{
	EventsBranch* self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = _data9_->self;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE);
#line 317 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (entry, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) {
#line 317 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = TRUE;
#line 2826 "EventsBranch.c"
	} else {
#line 317 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (entry, EVENTS_TYPE_NO_EVENT_ENTRY);
#line 2830 "EventsBranch.c"
	}
#line 317 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp1_) {
#line 317 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp0_ = TRUE;
#line 2836 "EventsBranch.c"
	} else {
#line 318 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (entry, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY);
#line 2840 "EventsBranch.c"
	}
#line 317 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp0_) {
#line 319 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = FALSE;
#line 319 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 2848 "EventsBranch.c"
	} else {
#line 321 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		result = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (entry, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry)) == _data9_->event_year;
#line 321 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		return result;
#line 2854 "EventsBranch.c"
	}
}


static gboolean
___lambda20__locator (gconstpointer item,
                      gpointer self)
{
	gboolean result;
	result = __lambda20_ (self, (SidebarEntry*) item);
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2867 "EventsBranch.c"
}


static SidebarEntry*
events_branch_find_event_year (EventsBranch* self,
                               Event* event,
                               struct tm* event_tm)
{
	SidebarEntry* result = NULL;
	Block9Data* _data9_;
	struct tm _tmp0_;
	gint _tmp1_;
	SidebarEntry* _tmp2_;
	SidebarEntry* _tmp3_;
	SidebarEntry* _tmp4_;
	SidebarEntry* _tmp5_;
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL);
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (IS_EVENT (event), NULL);
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (event_tm != NULL, NULL);
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data9_ = g_slice_new0 (Block9Data);
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data9_->_ref_count_ = 1;
#line 313 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data9_->self = g_object_ref (self);
#line 314 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = *event_tm;
#line 314 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_.tm_year;
#line 314 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data9_->event_year = _tmp1_ + 1900;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = _tmp2_;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = sidebar_branch_find_first_child (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, ___lambda20__locator, _data9_);
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = _tmp4_;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp3_);
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp5_;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	block9_data_unref (_data9_);
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_data9_ = NULL;
#line 316 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2920 "EventsBranch.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 327 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 2932 "EventsBranch.c"
}


static void
events_branch_add_undated_event (EventsBranch* self,
                                 Event* event)
{
	EventsUndatedDirectoryEntry* _tmp0_;
	EventsUndatedDirectoryEntry* _tmp4_;
#line 325 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 325 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 326 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->undated_entry;
#line 326 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (!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 2950 "EventsBranch.c"
		SidebarEntry* _tmp1_;
		SidebarEntry* _tmp2_;
		EventsUndatedDirectoryEntry* _tmp3_;
#line 327 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 327 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = _tmp1_;
#line 327 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp3_ = self->priv->undated_entry;
#line 327 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _events_branch_undated_event_comparator_gcompare_func);
#line 327 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp2_);
#line 2964 "EventsBranch.c"
	}
#line 329 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = self->priv->undated_entry;
#line 329 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_graft_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry), event, NULL);
#line 2970 "EventsBranch.c"
}


static void
events_branch_move_to_undated_event (EventsBranch* self,
                                     Event* event)
{
	EventsUndatedDirectoryEntry* _tmp0_;
	EventsUndatedDirectoryEntry* _tmp4_;
#line 332 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 332 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 333 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->undated_entry;
#line 333 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (!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 2988 "EventsBranch.c"
		SidebarEntry* _tmp1_;
		SidebarEntry* _tmp2_;
		EventsUndatedDirectoryEntry* _tmp3_;
#line 334 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 334 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = _tmp1_;
#line 334 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp3_ = self->priv->undated_entry;
#line 334 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL);
#line 334 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp2_);
#line 3002 "EventsBranch.c"
	}
#line 336 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = self->priv->undated_entry;
#line 336 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_reparent_event (self, event, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3008 "EventsBranch.c"
}


static void
events_branch_graft_event (EventsBranch* self,
                           SidebarEntry* parent,
                           Event* event,
                           GCompareFunc comparator)
{
	EventsEventEntry* entry = NULL;
	EventsEventEntry* _tmp0_;
	GeeHashMap* _tmp1_;
#line 339 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 339 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (SIDEBAR_IS_ENTRY (parent));
#line 339 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 341 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_event_entry_new (event);
#line 341 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	entry = _tmp0_;
#line 342 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = self->priv->entry_map;
#line 342 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), event, entry);
#line 344 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), parent, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry), comparator);
#line 339 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (entry);
#line 3039 "EventsBranch.c"
}


static void
events_branch_reparent_event (EventsBranch* self,
                              Event* event,
                              SidebarEntry* new_parent)
{
	EventsEventEntry* entry = NULL;
	GeeHashMap* _tmp0_;
	gpointer _tmp1_;
	EventsEventEntry* _tmp2_;
	SidebarEntry* old_parent = NULL;
	EventsEventEntry* _tmp3_;
	SidebarEntry* _tmp4_;
	SidebarEntry* _tmp5_;
	EventsEventEntry* _tmp6_;
#line 347 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 347 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (IS_EVENT (event));
#line 347 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (SIDEBAR_IS_ENTRY (new_parent));
#line 348 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->entry_map;
#line 348 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), event);
#line 348 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	entry = (EventsEventEntry*) _tmp1_;
#line 349 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = entry;
#line 349 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp2_ != NULL, "entry != null");
#line 351 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = entry;
#line 351 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 351 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	old_parent = _tmp4_;
#line 352 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp5_ = old_parent;
#line 352 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_vala_assert (_tmp5_ != NULL, "old_parent != null");
#line 354 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = entry;
#line 354 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	sidebar_branch_reparent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), new_parent, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	while (TRUE) {
#line 3089 "EventsBranch.c"
		gboolean _tmp7_ = FALSE;
		SidebarEntry* _tmp8_;
		SidebarEntry* grandparent = NULL;
		SidebarEntry* _tmp12_;
		SidebarEntry* _tmp13_;
		SidebarEntry* _tmp14_;
		SidebarEntry* _tmp15_;
		SidebarEntry* _tmp16_;
		SidebarEntry* _tmp17_;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp8_ = old_parent;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp8_) == 0) {
#line 3103 "EventsBranch.c"
			SidebarEntry* _tmp9_;
			SidebarEntry* _tmp10_;
			SidebarEntry* _tmp11_;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp9_ = old_parent;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp10_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp11_ = _tmp10_;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp7_ = _tmp9_ != _tmp11_;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (_tmp11_);
#line 3117 "EventsBranch.c"
		} else {
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp7_ = FALSE;
#line 3121 "EventsBranch.c"
		}
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (!_tmp7_) {
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			break;
#line 3127 "EventsBranch.c"
		}
#line 357 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp12_ = old_parent;
#line 357 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp13_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp12_);
#line 357 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		grandparent = _tmp13_;
#line 358 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp14_ = grandparent;
#line 358 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_vala_assert (_tmp14_ != NULL, "grandparent != null");
#line 360 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp15_ = old_parent;
#line 360 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp15_);
#line 362 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp16_ = grandparent;
#line 362 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp17_ = _g_object_ref0 (_tmp16_);
#line 362 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (old_parent);
#line 362 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		old_parent = _tmp17_;
#line 356 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (grandparent);
#line 3153 "EventsBranch.c"
	}
#line 347 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (old_parent);
#line 347 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (entry);
#line 3159 "EventsBranch.c"
}


static void
events_branch_show_no_events (EventsBranch* self,
                              gboolean show)
{
	gboolean _tmp0_ = FALSE;
#line 366 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (EVENTS_IS_BRANCH (self));
#line 367 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (show) {
#line 3172 "EventsBranch.c"
		EventsNoEventEntry* _tmp1_;
#line 367 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = self->priv->no_event_entry;
#line 367 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp0_ = !sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3178 "EventsBranch.c"
	} else {
#line 367 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp0_ = FALSE;
#line 3182 "EventsBranch.c"
	}
#line 367 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp0_) {
#line 3186 "EventsBranch.c"
		SidebarEntry* _tmp2_;
		SidebarEntry* _tmp3_;
		EventsNoEventEntry* _tmp4_;
#line 368 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 368 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp3_ = _tmp2_;
#line 368 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp4_ = self->priv->no_event_entry;
#line 368 "/home/jens/Source/shotwell/src/events/EventsBranch.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 368 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp3_);
#line 3200 "EventsBranch.c"
	} else {
		gboolean _tmp5_ = FALSE;
#line 369 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (!show) {
#line 3205 "EventsBranch.c"
			EventsNoEventEntry* _tmp6_;
#line 369 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp6_ = self->priv->no_event_entry;
#line 369 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp5_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3211 "EventsBranch.c"
		} else {
#line 369 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp5_ = FALSE;
#line 3215 "EventsBranch.c"
		}
#line 369 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		if (_tmp5_) {
#line 3219 "EventsBranch.c"
			EventsNoEventEntry* _tmp7_;
#line 370 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp7_ = self->priv->no_event_entry;
#line 370 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3225 "EventsBranch.c"
		}
	}
}


static void
events_branch_class_init (EventsBranchClass * klass)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 7 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_parent_class = g_type_class_peek_parent (klass);
#line 7 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_type_class_add_private (klass, sizeof (EventsBranchPrivate));
#line 7 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (klass)->finalize = events_branch_finalize;
#line 8 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = g_strdup (RESOURCES_ICON_FOLDER);
#line 8 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_icon = _tmp0_;
#line 9 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (RESOURCES_ICON_EVENTS);
#line 9 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_events_icon = _tmp1_;
#line 10 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = g_strdup (RESOURCES_ICON_ONE_EVENT);
#line 10 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_single_event_icon = _tmp2_;
#line 11 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = g_strdup (RESOURCES_ICON_NO_EVENT);
#line 11 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_branch_no_event_icon = _tmp3_;
#line 3260 "EventsBranch.c"
}


static void
events_branch_instance_init (EventsBranch * self)
{
	GeeHashMap* _tmp0_;
	EventsUndatedDirectoryEntry* _tmp1_;
	EventsNoEventEntry* _tmp2_;
	EventsMasterDirectoryEntry* _tmp3_;
#line 7 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv = EVENTS_BRANCH_GET_PRIVATE (self);
#line 18 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = gee_hash_map_new (TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, EVENTS_TYPE_EVENT_ENTRY, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 18 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->entry_map = _tmp0_;
#line 20 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = events_undated_directory_entry_new ();
#line 20 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->undated_entry = _tmp1_;
#line 21 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = events_no_event_entry_new ();
#line 21 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->no_event_entry = _tmp2_;
#line 22 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp3_ = events_master_directory_entry_new ();
#line 22 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->all_events_entry = _tmp3_;
#line 3289 "EventsBranch.c"
}


static void
events_branch_finalize (GObject * obj)
{
	EventsBranch * self;
	EventSourceCollection* _tmp0_;
	guint _tmp1_;
	EventSourceCollection* _tmp2_;
	guint _tmp3_;
	EventSourceCollection* _tmp4_;
	guint _tmp5_;
	ConfigFacade* _tmp6_;
	ConfigFacade* _tmp7_;
	guint _tmp8_;
#line 7 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_BRANCH, EventsBranch);
#line 47 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = event_global;
#line 47 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE);
#line 47 "/home/jens/Source/shotwell/src/events/EventsBranch.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 48 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp2_ = event_global;
#line 48 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE);
#line 48 "/home/jens/Source/shotwell/src/events/EventsBranch.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 49 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp4_ = event_global;
#line 49 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_parse_name ("no-event-collection-altered", TYPE_EVENT_SOURCE_COLLECTION, &_tmp5_, NULL, FALSE);
#line 49 "/home/jens/Source/shotwell/src/events/EventsBranch.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 51 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp6_ = config_facade_get_instance ();
#line 51 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp7_ = _tmp6_;
#line 51 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_signal_parse_name ("events-sort-ascending-changed", TYPE_CONFIGURATION_FACADE, &_tmp8_, NULL, FALSE);
#line 51 "/home/jens/Source/shotwell/src/events/EventsBranch.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 51 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp7_);
#line 18 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (self->priv->entry_map);
#line 20 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (self->priv->undated_entry);
#line 21 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (self->priv->no_event_entry);
#line 22 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (self->priv->all_events_entry);
#line 7 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (events_branch_parent_class)->finalize (obj);
#line 3346 "EventsBranch.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 375 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsDirectoryEntry*) sidebar_simple_page_entry_construct (object_type);
#line 375 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 3372 "EventsBranch.c"
}


static gchar*
events_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base)
{
	EventsDirectoryEntry * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 378 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry);
#line 379 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_icon;
#line 379 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 379 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 379 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3393 "EventsBranch.c"
}


static gboolean
events_directory_entry_real_expand_on_select (SidebarExpandableEntry* base)
{
	EventsDirectoryEntry * self;
	gboolean result = FALSE;
#line 382 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry);
#line 383 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = TRUE;
#line 383 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3408 "EventsBranch.c"
}


static void
events_directory_entry_class_init (EventsDirectoryEntryClass * klass)
{
#line 374 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_directory_entry_parent_class = g_type_class_peek_parent (klass);
#line 374 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = (gchar* (*) (SidebarSimplePageEntry *)) events_directory_entry_real_get_sidebar_icon;
#line 3419 "EventsBranch.c"
}


static void
events_directory_entry_sidebar_expandable_entry_interface_init (SidebarExpandableEntryIface * iface)
{
#line 374 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_directory_entry_sidebar_expandable_entry_parent_iface = g_type_interface_peek_parent (iface);
#line 374 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	iface->expand_on_select = (gboolean (*) (SidebarExpandableEntry *)) events_directory_entry_real_expand_on_select;
#line 3430 "EventsBranch.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 388 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsMasterDirectoryEntry*) events_directory_entry_construct (object_type);
#line 388 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 3464 "EventsBranch.c"
}


EventsMasterDirectoryEntry*
events_master_directory_entry_new (void)
{
#line 388 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_master_directory_entry_construct (EVENTS_TYPE_MASTER_DIRECTORY_ENTRY);
#line 3473 "EventsBranch.c"
}


static gchar*
events_master_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base)
{
	EventsMasterDirectoryEntry * self;
	gchar* result = NULL;
	gchar* _tmp0_;
#line 391 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry);
#line 392 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = g_strdup (MASTER_EVENTS_DIRECTORY_PAGE_NAME);
#line 392 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp0_;
#line 392 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3491 "EventsBranch.c"
}


static gchar*
events_master_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base)
{
	EventsMasterDirectoryEntry * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 395 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry);
#line 396 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_events_icon;
#line 396 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 396 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 396 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3512 "EventsBranch.c"
}


static Page*
events_master_directory_entry_real_create_page (SidebarSimplePageEntry* base)
{
	EventsMasterDirectoryEntry * self;
	Page* result = NULL;
	MasterEventsDirectoryPage* _tmp0_;
#line 399 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry);
#line 400 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = master_events_directory_page_new ();
#line 400 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_object_ref_sink (_tmp0_);
#line 400 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
#line 400 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3532 "EventsBranch.c"
}


static void
events_master_directory_entry_class_init (EventsMasterDirectoryEntryClass * klass)
{
#line 387 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_master_directory_entry_parent_class = g_type_class_peek_parent (klass);
#line 387 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = (gchar* (*) (SidebarSimplePageEntry *)) events_master_directory_entry_real_get_sidebar_name;
#line 387 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = (gchar* (*) (SidebarSimplePageEntry *)) events_master_directory_entry_real_get_sidebar_icon;
#line 387 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->create_page = (Page* (*) (SidebarSimplePageEntry *)) events_master_directory_entry_real_create_page;
#line 3547 "EventsBranch.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;
	gchar* _tmp0_;
	struct tm _tmp1_;
#line 408 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 408 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (tm != NULL, NULL);
#line 408 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsYearDirectoryEntry*) events_directory_entry_construct (object_type);
#line 409 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = g_strdup (name);
#line 409 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (self->priv->name);
#line 409 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->name = _tmp0_;
#line 410 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = *tm;
#line 410 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->tm = _tmp1_;
#line 408 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 3597 "EventsBranch.c"
}


EventsYearDirectoryEntry*
events_year_directory_entry_new (const gchar* name,
                                 struct tm* tm)
{
#line 408 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_year_directory_entry_construct (EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, name, tm);
#line 3607 "EventsBranch.c"
}


static gchar*
events_year_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base)
{
	EventsYearDirectoryEntry * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 413 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry);
#line 414 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->name;
#line 414 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 414 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 414 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3628 "EventsBranch.c"
}


gint
events_year_directory_entry_get_year (EventsYearDirectoryEntry* self)
{
	gint result = 0;
	struct tm _tmp0_;
	gint _tmp1_;
#line 417 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_YEAR_DIRECTORY_ENTRY (self), 0);
#line 418 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->tm;
#line 418 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_.tm_year;
#line 418 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_ + 1900;
#line 418 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3648 "EventsBranch.c"
}


static Page*
events_year_directory_entry_real_create_page (SidebarSimplePageEntry* base)
{
	EventsYearDirectoryEntry * self;
	Page* result = NULL;
	struct tm _tmp0_;
	SubEventsDirectoryPage* _tmp1_;
#line 421 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry);
#line 422 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->tm;
#line 422 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, &_tmp0_);
#line 422 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_object_ref_sink (_tmp1_);
#line 422 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
#line 422 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3671 "EventsBranch.c"
}


static void
events_year_directory_entry_class_init (EventsYearDirectoryEntryClass * klass)
{
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_year_directory_entry_parent_class = g_type_class_peek_parent (klass);
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_type_class_add_private (klass, sizeof (EventsYearDirectoryEntryPrivate));
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = (gchar* (*) (SidebarSimplePageEntry *)) events_year_directory_entry_real_get_sidebar_name;
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->create_page = (Page* (*) (SidebarSimplePageEntry *)) events_year_directory_entry_real_create_page;
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (klass)->finalize = events_year_directory_entry_finalize;
#line 3688 "EventsBranch.c"
}


static void
events_year_directory_entry_instance_init (EventsYearDirectoryEntry * self)
{
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv = EVENTS_YEAR_DIRECTORY_ENTRY_GET_PRIVATE (self);
#line 3697 "EventsBranch.c"
}


static void
events_year_directory_entry_finalize (GObject * obj)
{
	EventsYearDirectoryEntry * self;
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry);
#line 405 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (self->priv->name);
#line 404 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (events_year_directory_entry_parent_class)->finalize (obj);
#line 3711 "EventsBranch.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;
	gchar* _tmp0_;
	struct tm _tmp1_;
#line 430 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 430 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (tm != NULL, NULL);
#line 430 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsMonthDirectoryEntry*) events_directory_entry_construct (object_type);
#line 431 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = g_strdup (name);
#line 431 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (self->priv->name);
#line 431 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->name = _tmp0_;
#line 432 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = *tm;
#line 432 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->tm = _tmp1_;
#line 430 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 3755 "EventsBranch.c"
}


EventsMonthDirectoryEntry*
events_month_directory_entry_new (const gchar* name,
                                  struct tm* tm)
{
#line 430 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_month_directory_entry_construct (EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, name, tm);
#line 3765 "EventsBranch.c"
}


static gchar*
events_month_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base)
{
	EventsMonthDirectoryEntry * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 435 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry);
#line 436 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->name;
#line 436 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 436 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 436 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3786 "EventsBranch.c"
}


gint
events_month_directory_entry_get_year (EventsMonthDirectoryEntry* self)
{
	gint result = 0;
	struct tm _tmp0_;
	gint _tmp1_;
#line 439 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_MONTH_DIRECTORY_ENTRY (self), 0);
#line 440 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->tm;
#line 440 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_.tm_year;
#line 440 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_ + 1900;
#line 440 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3806 "EventsBranch.c"
}


gint
events_month_directory_entry_get_month (EventsMonthDirectoryEntry* self)
{
	gint result = 0;
	struct tm _tmp0_;
	gint _tmp1_;
#line 443 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_MONTH_DIRECTORY_ENTRY (self), 0);
#line 444 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->tm;
#line 444 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _tmp0_.tm_mon;
#line 444 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_ + 1;
#line 444 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3826 "EventsBranch.c"
}


static Page*
events_month_directory_entry_real_create_page (SidebarSimplePageEntry* base)
{
	EventsMonthDirectoryEntry * self;
	Page* result = NULL;
	struct tm _tmp0_;
	SubEventsDirectoryPage* _tmp1_;
#line 447 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry);
#line 448 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->tm;
#line 448 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, &_tmp0_);
#line 448 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_object_ref_sink (_tmp1_);
#line 448 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
#line 448 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3849 "EventsBranch.c"
}


static void
events_month_directory_entry_class_init (EventsMonthDirectoryEntryClass * klass)
{
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_month_directory_entry_parent_class = g_type_class_peek_parent (klass);
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_type_class_add_private (klass, sizeof (EventsMonthDirectoryEntryPrivate));
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = (gchar* (*) (SidebarSimplePageEntry *)) events_month_directory_entry_real_get_sidebar_name;
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->create_page = (Page* (*) (SidebarSimplePageEntry *)) events_month_directory_entry_real_create_page;
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (klass)->finalize = events_month_directory_entry_finalize;
#line 3866 "EventsBranch.c"
}


static void
events_month_directory_entry_instance_init (EventsMonthDirectoryEntry * self)
{
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv = EVENTS_MONTH_DIRECTORY_ENTRY_GET_PRIVATE (self);
#line 3875 "EventsBranch.c"
}


static void
events_month_directory_entry_finalize (GObject * obj)
{
	EventsMonthDirectoryEntry * self;
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry);
#line 427 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (self->priv->name);
#line 426 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (events_month_directory_entry_parent_class)->finalize (obj);
#line 3889 "EventsBranch.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 453 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsUndatedDirectoryEntry*) events_directory_entry_construct (object_type);
#line 453 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 3915 "EventsBranch.c"
}


EventsUndatedDirectoryEntry*
events_undated_directory_entry_new (void)
{
#line 453 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_undated_directory_entry_construct (EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY);
#line 3924 "EventsBranch.c"
}


static gchar*
events_undated_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base)
{
	EventsUndatedDirectoryEntry * self;
	gchar* result = NULL;
	gchar* _tmp0_;
#line 456 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry);
#line 457 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = g_strdup (SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME);
#line 457 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp0_;
#line 457 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3942 "EventsBranch.c"
}


static Page*
events_undated_directory_entry_real_create_page (SidebarSimplePageEntry* base)
{
	EventsUndatedDirectoryEntry * self;
	Page* result = NULL;
	struct tm _tmp0_ = {0};
	SubEventsDirectoryPage* _tmp1_;
#line 460 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry);
#line 461 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_time_local ((time_t) 0, &_tmp0_);
#line 461 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED, &_tmp0_);
#line 461 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_object_ref_sink (_tmp1_);
#line 461 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
#line 461 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 3965 "EventsBranch.c"
}


static void
events_undated_directory_entry_class_init (EventsUndatedDirectoryEntryClass * klass)
{
#line 452 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_undated_directory_entry_parent_class = g_type_class_peek_parent (klass);
#line 452 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = (gchar* (*) (SidebarSimplePageEntry *)) events_undated_directory_entry_real_get_sidebar_name;
#line 452 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->create_page = (Page* (*) (SidebarSimplePageEntry *)) events_undated_directory_entry_real_create_page;
#line 3978 "EventsBranch.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_;
#line 470 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (IS_EVENT (event), NULL);
#line 470 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsEventEntry*) sidebar_simple_page_entry_construct (object_type);
#line 471 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = _g_object_ref0 (event);
#line 471 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (self->priv->event);
#line 471 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv->event = _tmp0_;
#line 470 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 4020 "EventsBranch.c"
}


EventsEventEntry*
events_event_entry_new (Event* event)
{
#line 470 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_event_entry_construct (EVENTS_TYPE_EVENT_ENTRY, event);
#line 4029 "EventsBranch.c"
}


Event*
events_event_entry_get_event (EventsEventEntry* self)
{
	Event* result = NULL;
	Event* _tmp0_;
	Event* _tmp1_;
#line 474 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (EVENTS_IS_EVENT_ENTRY (self), NULL);
#line 475 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->event;
#line 475 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 475 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 475 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4049 "EventsBranch.c"
}


static gchar*
events_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base)
{
	EventsEventEntry * self;
	gchar* result = NULL;
	Event* _tmp0_;
	gchar* _tmp1_;
#line 478 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 479 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->event;
#line 479 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject));
#line 479 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 479 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4070 "EventsBranch.c"
}


static gchar*
events_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base)
{
	EventsEventEntry * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 482 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 483 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_single_event_icon;
#line 483 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 483 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 483 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4091 "EventsBranch.c"
}


static Page*
events_event_entry_real_create_page (SidebarSimplePageEntry* base)
{
	EventsEventEntry * self;
	Page* result = NULL;
	Event* _tmp0_;
	EventPage* _tmp1_;
#line 486 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 487 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = self->priv->event;
#line 487 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = event_page_new (_tmp0_);
#line 487 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_object_ref_sink (_tmp1_);
#line 487 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
#line 487 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4114 "EventsBranch.c"
}


static gboolean
events_event_entry_real_is_user_renameable (SidebarRenameableEntry* base)
{
	EventsEventEntry * self;
	gboolean result = FALSE;
#line 490 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 491 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = TRUE;
#line 491 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4129 "EventsBranch.c"
}


static void
events_event_entry_real_rename (SidebarRenameableEntry* base,
                                const gchar* new_name)
{
	EventsEventEntry * self;
	gchar* prepped = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
#line 494 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 494 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_if_fail (new_name != NULL);
#line 495 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = event_prep_event_name (new_name);
#line 495 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	prepped = _tmp0_;
#line 496 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = prepped;
#line 496 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	if (_tmp1_ != NULL) {
#line 4153 "EventsBranch.c"
		CommandManager* _tmp2_;
		CommandManager* _tmp3_;
		Event* _tmp4_;
		const gchar* _tmp5_;
		RenameEventCommand* _tmp6_;
		RenameEventCommand* _tmp7_;
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = app_window_get_command_manager ();
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp3_ = _tmp2_;
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp4_ = self->priv->event;
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp5_ = prepped;
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp6_ = rename_event_command_new (_tmp4_, _tmp5_);
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp7_ = _tmp6_;
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_COMMAND, Command));
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_tmp7_);
#line 497 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_command_manager_unref0 (_tmp3_);
#line 4178 "EventsBranch.c"
	}
#line 494 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_free0 (prepped);
#line 4182 "EventsBranch.c"
}


static gboolean
events_event_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base,
                                                GeeList* media)
{
	EventsEventEntry * self;
	gboolean result = FALSE;
	GeeArrayList* views = NULL;
	GeeArrayList* _tmp0_;
	CommandManager* _tmp15_;
	CommandManager* _tmp16_;
	GeeArrayList* _tmp17_;
	Event* _tmp18_;
	SetEventCommand* _tmp19_;
	SetEventCommand* _tmp20_;
#line 500 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 500 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (GEE_IS_LIST (media), FALSE);
#line 503 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 503 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	views = _tmp0_;
#line 4208 "EventsBranch.c"
	{
		GeeList* _media_source_list = NULL;
		GeeList* _tmp1_;
		gint _media_source_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _media_source_index = 0;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp1_ = _g_object_ref0 (media);
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_media_source_list = _tmp1_;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp2_ = _media_source_list;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_tmp4_ = _tmp3_;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_media_source_size = _tmp4_;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_media_source_index = -1;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		while (TRUE) {
#line 4233 "EventsBranch.c"
			gint _tmp5_;
			gint _tmp6_;
			gint _tmp7_;
			MediaSource* media_source = NULL;
			GeeList* _tmp8_;
			gint _tmp9_;
			gpointer _tmp10_;
			GeeArrayList* _tmp11_;
			MediaSource* _tmp12_;
			DataView* _tmp13_;
			DataView* _tmp14_;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp5_ = _media_source_index;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_media_source_index = _tmp5_ + 1;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp6_ = _media_source_index;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp7_ = _media_source_size;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			if (!(_tmp6_ < _tmp7_)) {
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
				break;
#line 4257 "EventsBranch.c"
			}
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp8_ = _media_source_list;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp9_ = _media_source_index;
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp10_ = gee_list_get (_tmp8_, _tmp9_);
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			media_source = (MediaSource*) _tmp10_;
#line 505 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp11_ = views;
#line 505 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp12_ = media_source;
#line 505 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp13_ = data_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_SOURCE, DataSource));
#line 505 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_tmp14_ = _tmp13_;
#line 505 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_);
#line 505 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (_tmp14_);
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
			_g_object_unref0 (media_source);
#line 4281 "EventsBranch.c"
		}
#line 504 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
		_g_object_unref0 (_media_source_list);
#line 4285 "EventsBranch.c"
	}
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp15_ = app_window_get_command_manager ();
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp16_ = _tmp15_;
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp17_ = views;
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp18_ = self->priv->event;
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp19_ = set_event_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable), _tmp18_);
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp20_ = _tmp19_;
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	command_manager_execute (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_COMMAND, Command));
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (_tmp20_);
#line 507 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_command_manager_unref0 (_tmp16_);
#line 509 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = TRUE;
#line 509 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (views);
#line 509 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4311 "EventsBranch.c"
}


static gboolean
events_event_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base,
                                                          GtkSelectionData* data)
{
	EventsEventEntry * self;
	gboolean result = FALSE;
#line 512 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 512 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_return_val_if_fail (data != NULL, FALSE);
#line 513 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = FALSE;
#line 513 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4329 "EventsBranch.c"
}


static void
events_event_entry_class_init (EventsEventEntryClass * klass)
{
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_event_entry_parent_class = g_type_class_peek_parent (klass);
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_type_class_add_private (klass, sizeof (EventsEventEntryPrivate));
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = (gchar* (*) (SidebarSimplePageEntry *)) events_event_entry_real_get_sidebar_name;
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = (gchar* (*) (SidebarSimplePageEntry *)) events_event_entry_real_get_sidebar_icon;
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->create_page = (Page* (*) (SidebarSimplePageEntry *)) events_event_entry_real_create_page;
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (klass)->finalize = events_event_entry_finalize;
#line 4348 "EventsBranch.c"
}


static void
events_event_entry_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface)
{
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_event_entry_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface);
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	iface->is_user_renameable = (gboolean (*) (SidebarRenameableEntry *)) events_event_entry_real_is_user_renameable;
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	iface->rename = (void (*) (SidebarRenameableEntry *, const gchar*)) events_event_entry_real_rename;
#line 4361 "EventsBranch.c"
}


static void
events_event_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface)
{
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_event_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface);
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	iface->internal_drop_received = (gboolean (*) (SidebarInternalDropTargetEntry *, GeeList*)) events_event_entry_real_internal_drop_received;
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	iface->internal_drop_received_arbitrary = (gboolean (*) (SidebarInternalDropTargetEntry *, GtkSelectionData*)) events_event_entry_real_internal_drop_received_arbitrary;
#line 4374 "EventsBranch.c"
}


static void
events_event_entry_instance_init (EventsEventEntry * self)
{
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self->priv = EVENTS_EVENT_ENTRY_GET_PRIVATE (self);
#line 4383 "EventsBranch.c"
}


static void
events_event_entry_finalize (GObject * obj)
{
	EventsEventEntry * self;
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry);
#line 468 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_g_object_unref0 (self->priv->event);
#line 466 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	G_OBJECT_CLASS (events_event_entry_parent_class)->finalize (obj);
#line 4397 "EventsBranch.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 519 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = (EventsNoEventEntry*) sidebar_simple_page_entry_construct (object_type);
#line 519 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return self;
#line 4427 "EventsBranch.c"
}


EventsNoEventEntry*
events_no_event_entry_new (void)
{
#line 519 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return events_no_event_entry_construct (EVENTS_TYPE_NO_EVENT_ENTRY);
#line 4436 "EventsBranch.c"
}


static gchar*
events_no_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base)
{
	EventsNoEventEntry * self;
	gchar* result = NULL;
	gchar* _tmp0_;
#line 522 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry);
#line 523 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = g_strdup (NO_EVENT_PAGE_NAME);
#line 523 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp0_;
#line 523 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4454 "EventsBranch.c"
}


static gchar*
events_no_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base)
{
	EventsNoEventEntry * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 526 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry);
#line 527 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = events_branch_no_event_icon;
#line 527 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 527 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = _tmp1_;
#line 527 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4475 "EventsBranch.c"
}


static Page*
events_no_event_entry_real_create_page (SidebarSimplePageEntry* base)
{
	EventsNoEventEntry * self;
	Page* result = NULL;
	NoEventPage* _tmp0_;
#line 530 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry);
#line 531 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	_tmp0_ = no_event_page_new ();
#line 531 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	g_object_ref_sink (_tmp0_);
#line 531 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page);
#line 531 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	return result;
#line 4495 "EventsBranch.c"
}


static void
events_no_event_entry_class_init (EventsNoEventEntryClass * klass)
{
#line 518 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	events_no_event_entry_parent_class = g_type_class_peek_parent (klass);
#line 518 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = (gchar* (*) (SidebarSimplePageEntry *)) events_no_event_entry_real_get_sidebar_name;
#line 518 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = (gchar* (*) (SidebarSimplePageEntry *)) events_no_event_entry_real_get_sidebar_icon;
#line 518 "/home/jens/Source/shotwell/src/events/EventsBranch.vala"
	((SidebarSimplePageEntryClass *) klass)->create_page = (Page* (*) (SidebarSimplePageEntry *)) events_no_event_entry_real_create_page;
#line 4510 "EventsBranch.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;
}



