/* LibraryWindow.c generated by valac 0.40.4, the Vala compiler
 * generated from LibraryWindow.vala, do not modify */

/* Copyright 2016 Software Freedom Conservancy Inc.
 *
 * This software is licensed under the GNU Lesser General Public License
 * (version 2.1 or later).  See the COPYING file in this distribution.
 */


#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <gdk/gdk.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <gphoto2/gphoto2-camera.h>
#include <gphoto.h>
#include <float.h>
#include <math.h>
#include <cairo.h>
#include <gdk-pixbuf/gdk-pixbuf.h>


#define TYPE_PAGE_WINDOW (page_window_get_type ())
#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))

typedef struct _PageWindow PageWindow;
typedef struct _PageWindowClass PageWindowClass;
typedef struct _PageWindowPrivate PageWindowPrivate;

#define TYPE_PAGE (page_get_type ())
#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))

typedef struct _Page Page;
typedef struct _PageClass PageClass;

#define TYPE_APP_WINDOW (app_window_get_type ())
#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))

typedef struct _AppWindow AppWindow;
typedef struct _AppWindowClass AppWindowClass;
typedef struct _AppWindowPrivate AppWindowPrivate;

#define TYPE_DIMENSIONS (dimensions_get_type ())
typedef struct _Dimensions Dimensions;

#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))

typedef struct _LibraryWindow LibraryWindow;
typedef struct _LibraryWindowClass LibraryWindowClass;
typedef struct _LibraryWindowPrivate LibraryWindowPrivate;

#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ())
#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler))
#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass))
#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER))
#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER))
#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass))

typedef struct _OneShotScheduler OneShotScheduler;
typedef struct _OneShotSchedulerClass OneShotSchedulerClass;

#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))

typedef struct _SidebarTree SidebarTree;
typedef struct _SidebarTreeClass SidebarTreeClass;

#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ())
#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch))
#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH))
#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH))
#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))

typedef struct _SidebarBranch SidebarBranch;
typedef struct _SidebarBranchClass SidebarBranchClass;

#define LIBRARY_TYPE_BRANCH (library_branch_get_type ())
#define LIBRARY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_BRANCH, LibraryBranch))
#define LIBRARY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_BRANCH, LibraryBranchClass))
#define LIBRARY_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_BRANCH))
#define LIBRARY_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_BRANCH))
#define LIBRARY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_BRANCH, LibraryBranchClass))

typedef struct _LibraryBranch LibraryBranch;
typedef struct _LibraryBranchClass LibraryBranchClass;

#define TAGS_TYPE_BRANCH (tags_branch_get_type ())
#define TAGS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_BRANCH, TagsBranch))
#define TAGS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_BRANCH, TagsBranchClass))
#define TAGS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_BRANCH))
#define TAGS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_BRANCH))
#define TAGS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_BRANCH, TagsBranchClass))

typedef struct _TagsBranch TagsBranch;
typedef struct _TagsBranchClass TagsBranchClass;

#define FOLDERS_TYPE_BRANCH (folders_branch_get_type ())
#define FOLDERS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_BRANCH, FoldersBranch))
#define FOLDERS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_BRANCH, FoldersBranchClass))
#define FOLDERS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_BRANCH))
#define FOLDERS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_BRANCH))
#define FOLDERS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_BRANCH, FoldersBranchClass))

typedef struct _FoldersBranch FoldersBranch;
typedef struct _FoldersBranchClass FoldersBranchClass;

#define EVENTS_TYPE_BRANCH (events_branch_get_type ())
#define EVENTS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_BRANCH, EventsBranch))
#define EVENTS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_BRANCH, EventsBranchClass))
#define EVENTS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_BRANCH))
#define EVENTS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_BRANCH))
#define EVENTS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_BRANCH, EventsBranchClass))

typedef struct _EventsBranch EventsBranch;
typedef struct _EventsBranchClass EventsBranchClass;

#define CAMERA_TYPE_BRANCH (camera_branch_get_type ())
#define CAMERA_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_BRANCH, CameraBranch))
#define CAMERA_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_BRANCH, CameraBranchClass))
#define CAMERA_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_BRANCH))
#define CAMERA_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_BRANCH))
#define CAMERA_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_BRANCH, CameraBranchClass))

typedef struct _CameraBranch CameraBranch;
typedef struct _CameraBranchClass CameraBranchClass;

#define SEARCHES_TYPE_BRANCH (searches_branch_get_type ())
#define SEARCHES_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_BRANCH, SearchesBranch))
#define SEARCHES_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_BRANCH, SearchesBranchClass))
#define SEARCHES_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_BRANCH))
#define SEARCHES_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_BRANCH))
#define SEARCHES_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_BRANCH, SearchesBranchClass))

typedef struct _SearchesBranch SearchesBranch;
typedef struct _SearchesBranchClass SearchesBranchClass;

#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))

typedef struct _SidebarEntry SidebarEntry;
typedef struct _SidebarEntryIface SidebarEntryIface;

#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ())
#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage))
#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE))
#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE))
#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))

typedef struct _SinglePhotoPage SinglePhotoPage;
typedef struct _SinglePhotoPageClass SinglePhotoPageClass;

#define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ())
#define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage))
#define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass))
#define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE))
#define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE))
#define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass))

typedef struct _EditingHostPage EditingHostPage;
typedef struct _EditingHostPageClass EditingHostPageClass;

#define TYPE_LIBRARY_PHOTO_PAGE (library_photo_page_get_type ())
#define LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage))
#define LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass))
#define IS_LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_PAGE))
#define IS_LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_PAGE))
#define LIBRARY_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass))

typedef struct _LibraryPhotoPage LibraryPhotoPage;
typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass;

#define TYPE_SEARCH_FILTER_ACTIONS (search_filter_actions_get_type ())
#define SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions))
#define SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass))
#define IS_SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_ACTIONS))
#define IS_SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_ACTIONS))
#define SEARCH_FILTER_ACTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass))

typedef struct _SearchFilterActions SearchFilterActions;
typedef struct _SearchFilterActionsClass SearchFilterActionsClass;

#define TYPE_SEARCH_FILTER_TOOLBAR (search_filter_toolbar_get_type ())
#define SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar))
#define SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass))
#define IS_SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_TOOLBAR))
#define IS_SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_TOOLBAR))
#define SEARCH_FILTER_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass))

typedef struct _SearchFilterToolbar SearchFilterToolbar;
typedef struct _SearchFilterToolbarClass SearchFilterToolbarClass;

#define TYPE_PROPERTIES (properties_get_type ())
#define PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROPERTIES, Properties))
#define PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROPERTIES, PropertiesClass))
#define IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROPERTIES))
#define IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROPERTIES))
#define PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROPERTIES, PropertiesClass))

typedef struct _Properties Properties;
typedef struct _PropertiesClass PropertiesClass;

#define TYPE_BASIC_PROPERTIES (basic_properties_get_type ())
#define BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BASIC_PROPERTIES, BasicProperties))
#define BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BASIC_PROPERTIES, BasicPropertiesClass))
#define IS_BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BASIC_PROPERTIES))
#define IS_BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BASIC_PROPERTIES))
#define BASIC_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BASIC_PROPERTIES, BasicPropertiesClass))

typedef struct _BasicProperties BasicProperties;
typedef struct _BasicPropertiesClass BasicPropertiesClass;

#define TYPE_EXTENDED_PROPERTIES_WINDOW (extended_properties_window_get_type ())
#define EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow))
#define EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass))
#define IS_EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW))
#define IS_EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW))
#define EXTENDED_PROPERTIES_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass))

typedef struct _ExtendedPropertiesWindow ExtendedPropertiesWindow;
typedef struct _ExtendedPropertiesWindowClass ExtendedPropertiesWindowClass;
enum  {
	LIBRARY_WINDOW_0_PROPERTY,
	LIBRARY_WINDOW_NUM_PROPERTIES
};
static GParamSpec* library_window_properties[LIBRARY_WINDOW_NUM_PROPERTIES];

#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))

typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;

#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))

typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_DATA_COLLECTION (data_collection_get_type ())
#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))

typedef struct _DataCollection DataCollection;
typedef struct _DataCollectionClass DataCollectionClass;

#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))

typedef struct _SourceCollection SourceCollection;
typedef struct _SourceCollectionClass SourceCollectionClass;

#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))

typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;

#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))

typedef struct _MediaSourceCollection MediaSourceCollection;
typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;

#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))

typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))

#define TYPE_DATA_OBJECT (data_object_get_type ())
#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))

typedef struct _DataObject DataObject;
typedef struct _DataObjectClass DataObjectClass;

#define TYPE_DATA_SOURCE (data_source_get_type ())
#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))

typedef struct _DataSource DataSource;
typedef struct _DataSourceClass DataSourceClass;

#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))

typedef struct _ThumbnailSource ThumbnailSource;
typedef struct _ThumbnailSourceClass ThumbnailSourceClass;

#define TYPE_MEDIA_SOURCE (media_source_get_type ())
#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))

typedef struct _MediaSource MediaSource;
typedef struct _MediaSourceClass MediaSourceClass;

#define TYPE_ALTERATION (alteration_get_type ())
#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))

typedef struct _Alteration Alteration;
typedef struct _AlterationClass AlterationClass;
#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))

#define TYPE_METADATA_WRITER (metadata_writer_get_type ())
#define METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_WRITER, MetadataWriter))
#define METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_WRITER, MetadataWriterClass))
#define IS_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_WRITER))
#define IS_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_WRITER))
#define METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_WRITER, MetadataWriterClass))

typedef struct _MetadataWriter MetadataWriter;
typedef struct _MetadataWriterClass MetadataWriterClass;

#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ())
#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor))
#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))
#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR))
#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR))
#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))

typedef struct _DirectoryMonitor DirectoryMonitor;
typedef struct _DirectoryMonitorClass DirectoryMonitorClass;

#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ())
#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor))
#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))
#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR))
#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR))
#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))

typedef struct _LibraryMonitor LibraryMonitor;
typedef struct _LibraryMonitorClass LibraryMonitorClass;

#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ())
#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool))
#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))
#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL))
#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL))
#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))

typedef struct _LibraryMonitorPool LibraryMonitorPool;
typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass;
#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL)))

#define TYPE_CAMERA_TABLE (camera_table_get_type ())
#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable))
#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass))
#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE))
#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE))
#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass))

typedef struct _CameraTable CameraTable;
typedef struct _CameraTableClass CameraTableClass;

#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ())
#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera))
#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass))
#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA))
#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA))
#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass))

typedef struct _DiscoveredCamera DiscoveredCamera;
typedef struct _DiscoveredCameraClass DiscoveredCameraClass;
#define _camera_table_unref0(var) ((var == NULL) ? NULL : (var = (camera_table_unref (var), NULL)))

#define LIBRARY_WINDOW_TYPE_SIDEBAR_ROOT_POSITION (library_window_sidebar_root_position_get_type ())

#define LIBRARY_WINDOW_TYPE_TARGET_TYPE (library_window_target_type_get_type ())
#define _g_free0(var) (var = (g_free (var), NULL))
#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL)))
#define _search_filter_actions_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_actions_unref (var), NULL)))

#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))

typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;

#define LIBRARY_TYPE_PHOTOS_ENTRY (library_photos_entry_get_type ())
#define LIBRARY_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry))
#define LIBRARY_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))
#define LIBRARY_IS_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_ENTRY))
#define LIBRARY_IS_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_ENTRY))
#define LIBRARY_PHOTOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))

typedef struct _LibraryPhotosEntry LibraryPhotosEntry;
typedef struct _LibraryPhotosEntryClass LibraryPhotosEntryClass;

#define TYPE_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_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))

#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))

typedef struct _ViewCollection ViewCollection;
typedef struct _ViewCollectionClass ViewCollectionClass;

#define TYPE_VIEW_FILTER (view_filter_get_type ())
#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))

typedef struct _ViewFilter ViewFilter;
typedef struct _ViewFilterClass ViewFilterClass;

#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))

typedef struct _CheckerboardPage CheckerboardPage;
typedef struct _CheckerboardPageClass CheckerboardPageClass;

#define TYPE_TAG (tag_get_type ())
#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag))
#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass))
#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG))
#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG))
#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass))

typedef struct _Tag Tag;
typedef struct _TagClass TagClass;

#define TAGS_TYPE_SIDEBAR_ENTRY (tags_sidebar_entry_get_type ())
#define TAGS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry))
#define TAGS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass))
#define TAGS_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_SIDEBAR_ENTRY))
#define TAGS_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_SIDEBAR_ENTRY))
#define TAGS_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass))

typedef struct _TagsSidebarEntry TagsSidebarEntry;
typedef struct _TagsSidebarEntryClass TagsSidebarEntryClass;

#define TYPE_EVENT_SOURCE (event_source_get_type ())
#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource))
#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass))
#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE))
#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE))
#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass))

typedef struct _EventSource EventSource;
typedef struct _EventSourceClass EventSourceClass;

#define TYPE_EVENT (event_get_type ())
#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event))
#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass))
#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT))
#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT))
#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass))

typedef struct _Event Event;
typedef struct _EventClass EventClass;

#define EVENTS_TYPE_EVENT_ENTRY (events_event_entry_get_type ())
#define EVENTS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry))
#define EVENTS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))
#define EVENTS_IS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_EVENT_ENTRY))
#define EVENTS_IS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_EVENT_ENTRY))
#define EVENTS_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))

typedef struct _EventsEventEntry EventsEventEntry;
typedef struct _EventsEventEntryClass EventsEventEntryClass;

#define TYPE_SAVED_SEARCH (saved_search_get_type ())
#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))

typedef struct _SavedSearch SavedSearch;
typedef struct _SavedSearchClass SavedSearchClass;

#define SEARCHES_TYPE_SIDEBAR_ENTRY (searches_sidebar_entry_get_type ())
#define SEARCHES_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry))
#define SEARCHES_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))
#define SEARCHES_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY))
#define SEARCHES_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY))
#define SEARCHES_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))

typedef struct _SearchesSidebarEntry SearchesSidebarEntry;
typedef struct _SearchesSidebarEntryClass SearchesSidebarEntryClass;

#define TYPE_MEDIA_PAGE (media_page_get_type ())
#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))

typedef struct _MediaPage MediaPage;
typedef struct _MediaPageClass MediaPageClass;

#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))

typedef struct _CollectionPage CollectionPage;
typedef struct _CollectionPageClass CollectionPageClass;

#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))

typedef struct _PhotoSource PhotoSource;
typedef struct _PhotoSourceClass PhotoSourceClass;

#define TYPE_PHOTO (photo_get_type ())
#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))

typedef struct _Photo Photo;
typedef struct _PhotoClass PhotoClass;

#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))

typedef struct _LibraryPhoto LibraryPhoto;
typedef struct _LibraryPhotoClass LibraryPhotoClass;

#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ())
#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage))
#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE))
#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE))
#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))

typedef struct _EventsDirectoryPage EventsDirectoryPage;
typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass;

#define TYPE_DATA_VIEW (data_view_get_type ())
#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))

typedef struct _DataView DataView;
typedef struct _DataViewClass DataViewClass;

#define TYPE_EVENT_PAGE (event_page_get_type ())
#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage))
#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass))
#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE))
#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE))
#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass))

typedef struct _EventPage EventPage;
typedef struct _EventPageClass EventPageClass;

#define LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE (library_window_fullscreen_photo_page_get_type ())
#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage))
#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPageClass))
#define LIBRARY_WINDOW_IS_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE))
#define LIBRARY_WINDOW_IS_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE))
#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPageClass))

typedef struct _LibraryWindowFullscreenPhotoPage LibraryWindowFullscreenPhotoPage;
typedef struct _LibraryWindowFullscreenPhotoPageClass LibraryWindowFullscreenPhotoPageClass;
#define __g_slist_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_free0_ (var), NULL)))

#define DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG (data_imports_ui_data_imports_dialog_get_type ())
#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialog))
#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass))
#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG))
#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG))
#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass))

typedef struct _DataImportsUIDataImportsDialog DataImportsUIDataImportsDialog;
typedef struct _DataImportsUIDataImportsDialogClass DataImportsUIDataImportsDialogClass;

#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))

typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;

#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))

typedef struct _VideoSourceCollection VideoSourceCollection;
typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;

#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))

typedef struct _CommandManager CommandManager;
typedef struct _CommandManagerClass CommandManagerClass;
#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))

#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))

typedef struct _SavedSearchDialog SavedSearchDialog;
typedef struct _SavedSearchDialogClass SavedSearchDialogClass;

#define TYPE_BATCH_IMPORT (batch_import_get_type ())
#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))

typedef struct _BatchImport BatchImport;
typedef struct _BatchImportClass BatchImportClass;

#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))

typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;

#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ())
#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry))
#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))

typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry;
typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass;

#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))

typedef struct _ImportManifest ImportManifest;
typedef struct _ImportManifestClass ImportManifestClass;

#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ())
#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams))
#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))
#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS))
#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS))
#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))

typedef struct _ImportUIQuestionParams ImportUIQuestionParams;
typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass;

#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ())
#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob))
#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB))
#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB))
#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))

typedef struct _BatchImportJob BatchImportJob;
typedef struct _BatchImportJobClass BatchImportJobClass;

#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ())
#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob))
#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB))
#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB))
#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass))

typedef struct _FileImportJob FileImportJob;
typedef struct _FileImportJobClass FileImportJobClass;
#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL)))

#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))

typedef struct _BatchImportRoll BatchImportRoll;
typedef struct _BatchImportRollClass BatchImportRollClass;

#define CAMERA_TYPE_SIDEBAR_ENTRY (camera_sidebar_entry_get_type ())
#define CAMERA_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry))
#define CAMERA_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass))
#define CAMERA_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_SIDEBAR_ENTRY))
#define CAMERA_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_SIDEBAR_ENTRY))
#define CAMERA_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass))

typedef struct _CameraSidebarEntry CameraSidebarEntry;
typedef struct _CameraSidebarEntryClass CameraSidebarEntryClass;

#define TYPE_IMPORT_PAGE (import_page_get_type ())
#define IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PAGE, ImportPage))
#define IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PAGE, ImportPageClass))
#define IS_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PAGE))
#define IS_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PAGE))
#define IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PAGE, ImportPageClass))

typedef struct _ImportPage ImportPage;
typedef struct _ImportPageClass ImportPageClass;
typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ())
#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry))
#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY))
#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface))

typedef struct _SidebarExpandableEntry SidebarExpandableEntry;
typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface;

#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))

typedef struct _SearchViewFilter SearchViewFilter;
typedef struct _SearchViewFilterClass SearchViewFilterClass;
#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))

#define TYPE_DISABLED_VIEW_FILTER (disabled_view_filter_get_type ())
#define DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter))
#define DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))
#define IS_DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISABLED_VIEW_FILTER))
#define IS_DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISABLED_VIEW_FILTER))
#define DISABLED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))

typedef struct _DisabledViewFilter DisabledViewFilter;
typedef struct _DisabledViewFilterClass DisabledViewFilterClass;

#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ())
#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry))
#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))

typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry;
typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass;

#define EVENTS_TYPE_DIRECTORY_ENTRY (events_directory_entry_get_type ())
#define EVENTS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry))
#define EVENTS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))
#define EVENTS_IS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_DIRECTORY_ENTRY))
#define EVENTS_IS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_DIRECTORY_ENTRY))
#define EVENTS_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))

typedef struct _EventsDirectoryEntry EventsDirectoryEntry;
typedef struct _EventsDirectoryEntryClass EventsDirectoryEntryClass;

#define EVENTS_TYPE_MASTER_DIRECTORY_ENTRY (events_master_directory_entry_get_type ())
#define EVENTS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry))
#define EVENTS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))
#define EVENTS_IS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
#define EVENTS_IS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
#define EVENTS_MASTER_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))

typedef struct _EventsMasterDirectoryEntry EventsMasterDirectoryEntry;
typedef struct _EventsMasterDirectoryEntryClass EventsMasterDirectoryEntryClass;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
typedef struct _PagePrivate PagePrivate;

#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))

typedef struct _FullscreenWindow FullscreenWindow;
typedef struct _FullscreenWindowClass FullscreenWindowClass;

#define TYPE_INJECTION_GROUP (injection_group_get_type ())
#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))

typedef struct _InjectionGroup InjectionGroup;
typedef struct _InjectionGroupClass InjectionGroupClass;
typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate;

#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ())
#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer))
#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass))
#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER))
#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER))
#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass))

typedef struct _ZoomBuffer ZoomBuffer;
typedef struct _ZoomBufferClass ZoomBufferClass;

#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ())
typedef struct _EditingHostPagePrivate EditingHostPagePrivate;
typedef struct _LibraryPhotoPagePrivate LibraryPhotoPagePrivate;

#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
typedef struct _LibraryWindowFullscreenPhotoPagePrivate LibraryWindowFullscreenPhotoPagePrivate;
enum  {
	LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_0_PROPERTY,
	LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_NUM_PROPERTIES
};
static GParamSpec* library_window_fullscreen_photo_page_properties[LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_NUM_PROPERTIES];
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _PageWindow {
	GtkApplicationWindow parent_instance;
	PageWindowPrivate * priv;
};

struct _PageWindowClass {
	GtkApplicationWindowClass parent_class;
	void (*switched_pages) (PageWindow* self, Page* old_page, Page* new_page);
	void (*set_current_page) (PageWindow* self, Page* page);
	void (*clear_current_page) (PageWindow* self);
};

struct _Dimensions {
	gint width;
	gint height;
};

struct _AppWindow {
	PageWindow parent_instance;
	AppWindowPrivate * priv;
	gboolean maximized;
	Dimensions dimensions;
	gint pos_x;
	gint pos_y;
};

struct _AppWindowClass {
	PageWindowClass parent_class;
	void (*on_fullscreen) (AppWindow* self);
	gchar* (*get_app_role) (AppWindow* self);
	void (*on_quit) (AppWindow* self);
	void (*add_actions) (AppWindow* self);
	void (*update_common_action_availability) (AppWindow* self, Page* old_page, Page* new_page);
	void (*update_common_actions) (AppWindow* self, Page* page, gint selected_count, gint count);
};

struct _LibraryWindow {
	AppWindow parent_instance;
	LibraryWindowPrivate * priv;
};

struct _LibraryWindowClass {
	AppWindowClass parent_class;
};

struct _SidebarEntryIface {
	GTypeInterface parent_iface;
	gchar* (*get_sidebar_name) (SidebarEntry* self);
	gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
	gchar* (*get_sidebar_icon) (SidebarEntry* self);
	gchar* (*to_string) (SidebarEntry* self);
	void (*grafted) (SidebarEntry* self, SidebarTree* tree);
	void (*pruned) (SidebarEntry* self, SidebarTree* tree);
};

struct _LibraryWindowPrivate {
	gchar* import_dir;
	gboolean import_recursive;
	GtkPaned* sidebar_paned;
	GtkPaned* client_paned;
	GtkFrame* bottom_frame;
	OneShotScheduler* properties_scheduler;
	gboolean notify_library_is_home_dir;
	SidebarTree* sidebar_tree;
	LibraryBranch* library_branch;
	TagsBranch* tags_branch;
	FoldersBranch* folders_branch;
	EventsBranch* events_branch;
	CameraBranch* camera_branch;
	SearchesBranch* saved_search_branch;
	gboolean page_switching_enabled;
	GeeHashMap* page_map;
	LibraryPhotoPage* photo_page;
	gboolean is_search_toolbar_visible;
	SearchFilterActions* search_actions;
	SearchFilterToolbar* search_toolbar;
	GtkBox* top_section;
	GtkFrame* background_progress_frame;
	GtkProgressBar* background_progress_bar;
	gboolean background_progress_displayed;
	BasicProperties* basic_properties;
	ExtendedPropertiesWindow* extended_properties;
	GtkStack* stack;
	GtkBox* layout;
	GtkBox* right_vbox;
	GtkRevealer* toolbar_revealer;
	gint current_progress_priority;
	guint background_progress_pulse_id;
};

struct _SidebarSelectableEntryIface {
	GTypeInterface parent_iface;
};

struct _SidebarPageRepresentativeIface {
	GTypeInterface parent_iface;
	gboolean (*has_page) (SidebarPageRepresentative* self);
	Page* (*get_page) (SidebarPageRepresentative* self);
};

typedef enum  {
	LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY,
	LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS,
	LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH,
	LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS,
	LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS,
	LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS
} LibraryWindowSidebarRootPosition;

typedef enum  {
	LIBRARY_WINDOW_TARGET_TYPE_URI_LIST,
	LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST,
	LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH
} LibraryWindowTargetType;

typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
typedef void (*SidebarTreeExternalDropHandler) (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, void* user_data);
typedef void (*OneShotCallback) (void* user_data);
typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data);
struct _DiscoveredCamera {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DiscoveredCameraPrivate * priv;
	Camera* gcamera;
	gchar* uri;
	gchar* display_name;
	gchar* icon;
};

struct _DiscoveredCameraClass {
	GTypeClass parent_class;
	void (*finalize) (DiscoveredCamera *self);
};

struct _SidebarExpandableEntryIface {
	GTypeInterface parent_iface;
	gboolean (*expand_on_select) (SidebarExpandableEntry* self);
};

struct _Page {
	GtkScrolledWindow parent_instance;
	PagePrivate * priv;
	GtkBuilder* builder;
	GtkToolbar* toolbar;
	gboolean in_view;
};

struct _PageClass {
	GtkScrolledWindowClass parent_class;
	void (*set_page_name) (Page* self, const gchar* page_name);
	void (*set_container) (Page* self, GtkWindow* container);
	void (*clear_container) (Page* self);
	GtkToolbar* (*get_toolbar) (Page* self);
	GtkMenu* (*get_page_context_menu) (Page* self);
	void (*switching_from) (Page* self);
	void (*switched_to) (Page* self);
	void (*ready) (Page* self);
	void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
	void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
	void (*add_actions) (Page* self, GActionMap* map);
	void (*remove_actions) (Page* self, GActionMap* map);
	void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
	InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
	void (*init_actions) (Page* self, gint selected_count, gint count);
	void (*update_actions) (Page* self, gint selected_count, gint count);
	gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
	gboolean (*on_left_click) (Page* self, GdkEventButton* event);
	gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
	gboolean (*on_right_click) (Page* self, GdkEventButton* event);
	gboolean (*on_left_released) (Page* self, GdkEventButton* event);
	gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
	gboolean (*on_right_released) (Page* self, GdkEventButton* event);
	gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
	gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
	gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
	gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_super_released) (Page* self, GdkEventKey* event);
	gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
	void (*on_move) (Page* self, GdkRectangle* rect);
	void (*on_move_start) (Page* self, GdkRectangle* rect);
	void (*on_move_finished) (Page* self, GdkRectangle* rect);
	void (*on_resize) (Page* self, GdkRectangle* rect);
	void (*on_resize_start) (Page* self, GdkRectangle* rect);
	void (*on_resize_finished) (Page* self, GdkRectangle* rect);
	gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
	gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
	gboolean (*on_leave_notify_event) (Page* self);
	gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
	gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
	gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
	gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
	gboolean (*on_context_keypress) (Page* self);
	gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
	gboolean (*on_context_invoked) (Page* self);
	void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
};

typedef enum  {
	SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF,
	SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT,
	SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS
} SinglePhotoPageUpdateReason;

struct _SinglePhotoPage {
	Page parent_instance;
	SinglePhotoPagePrivate * priv;
	GtkDrawingArea* canvas;
	GtkViewport* viewport;
};

struct _SinglePhotoPageClass {
	PageClass parent_class;
	gboolean (*is_zoom_supported) (SinglePhotoPage* self);
	void (*cancel_zoom) (SinglePhotoPage* self);
	void (*save_zoom_state) (SinglePhotoPage* self);
	void (*restore_zoom_state) (SinglePhotoPage* self);
	ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self);
	void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
	void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim);
	void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
	void (*on_previous_photo) (SinglePhotoPage* self);
	void (*on_next_photo) (SinglePhotoPage* self);
};

struct _EditingHostPage {
	SinglePhotoPage parent_instance;
	EditingHostPagePrivate * priv;
};

struct _EditingHostPageClass {
	SinglePhotoPageClass parent_class;
	gboolean (*on_zoom_slider_key_press) (EditingHostPage* self, GdkEventKey* event);
	void (*on_increase_size) (EditingHostPage* self);
	void (*on_decrease_size) (EditingHostPage* self);
	void (*photo_changing) (EditingHostPage* self, Photo* new_photo);
	DataView* (*create_photo_view) (EditingHostPage* self, DataSource* source);
	void (*update_ui) (EditingHostPage* self, gboolean missing);
	void (*notify_photo_backing_missing) (EditingHostPage* self, Photo* photo, gboolean missing);
	gboolean (*confirm_replace_photo) (EditingHostPage* self, Photo* old_photo, Photo* new_photo);
	gboolean (*on_double_click) (EditingHostPage* self, GdkEventButton* event);
	GdkPixbuf* (*get_bottom_left_trinket) (EditingHostPage* self, gint scale);
	GdkPixbuf* (*get_top_left_trinket) (EditingHostPage* self, gint scale);
	GdkPixbuf* (*get_top_right_trinket) (EditingHostPage* self, gint scale);
	GdkPixbuf* (*get_bottom_right_trinket) (EditingHostPage* self, gint scale);
};

typedef enum  {
	RAW_DEVELOPER_SHOTWELL = 0,
	RAW_DEVELOPER_CAMERA,
	RAW_DEVELOPER_EMBEDDED
} RawDeveloper;

struct _LibraryPhotoPage {
	EditingHostPage parent_instance;
	LibraryPhotoPagePrivate * priv;
};

struct _LibraryPhotoPageClass {
	EditingHostPageClass parent_class;
	void (*developer_changed) (LibraryPhotoPage* self, RawDeveloper rd);
};

struct _LibraryWindowFullscreenPhotoPage {
	LibraryPhotoPage parent_instance;
	LibraryWindowFullscreenPhotoPagePrivate * priv;
};

struct _LibraryWindowFullscreenPhotoPageClass {
	LibraryPhotoPageClass parent_class;
};

struct _LibraryWindowFullscreenPhotoPagePrivate {
	CollectionPage* collection;
	Photo* start;
	ViewCollection* view;
};


static gpointer library_window_parent_class = NULL;
static GeeHashSet* library_window_initial_camera_uris;
static GeeHashSet* library_window_initial_camera_uris = NULL;
extern AppWindow* app_window_instance;
extern LibraryPhotoSourceCollection* library_photo_global;
extern VideoSourceCollection* video_global;
static gpointer library_window_fullscreen_photo_page_parent_class = NULL;

GType page_window_get_type (void) G_GNUC_CONST;
GType page_get_type (void) G_GNUC_CONST;
GType app_window_get_type (void) G_GNUC_CONST;
GType dimensions_get_type (void) G_GNUC_CONST;
Dimensions* dimensions_dup (const Dimensions* self);
void dimensions_free (Dimensions* self);
GType library_window_get_type (void) G_GNUC_CONST;
gpointer one_shot_scheduler_ref (gpointer instance);
void one_shot_scheduler_unref (gpointer instance);
GParamSpec* param_spec_one_shot_scheduler (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
void value_set_one_shot_scheduler (GValue* value,
                                   gpointer v_object);
void value_take_one_shot_scheduler (GValue* value,
                                    gpointer v_object);
gpointer value_get_one_shot_scheduler (const GValue* value);
GType one_shot_scheduler_get_type (void) G_GNUC_CONST;
GType sidebar_tree_get_type (void) G_GNUC_CONST;
GType sidebar_branch_get_type (void) G_GNUC_CONST;
GType library_branch_get_type (void) G_GNUC_CONST;
GType tags_branch_get_type (void) G_GNUC_CONST;
GType folders_branch_get_type (void) G_GNUC_CONST;
GType events_branch_get_type (void) G_GNUC_CONST;
GType camera_branch_get_type (void) G_GNUC_CONST;
GType searches_branch_get_type (void) G_GNUC_CONST;
GType sidebar_entry_get_type (void) G_GNUC_CONST;
GType single_photo_page_get_type (void) G_GNUC_CONST;
GType editing_host_page_get_type (void) G_GNUC_CONST;
GType library_photo_page_get_type (void) G_GNUC_CONST;
gpointer search_filter_actions_ref (gpointer instance);
void search_filter_actions_unref (gpointer instance);
GParamSpec* param_spec_search_filter_actions (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags);
void value_set_search_filter_actions (GValue* value,
                                      gpointer v_object);
void value_take_search_filter_actions (GValue* value,
                                       gpointer v_object);
gpointer value_get_search_filter_actions (const GValue* value);
GType search_filter_actions_get_type (void) G_GNUC_CONST;
GType search_filter_toolbar_get_type (void) G_GNUC_CONST;
GType properties_get_type (void) G_GNUC_CONST;
GType basic_properties_get_type (void) G_GNUC_CONST;
GType extended_properties_window_get_type (void) G_GNUC_CONST;
#define LIBRARY_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_WINDOW, LibraryWindowPrivate))
GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
static void library_window_on_page_created (LibraryWindow* self,
                                     SidebarPageRepresentative* entry,
                                     Page* page);
static void _library_window_on_page_created_sidebar_tree_page_created (SidebarTree* _sender,
                                                                SidebarPageRepresentative* entry,
                                                                Page* page,
                                                                gpointer self);
static void library_window_on_destroying_page (LibraryWindow* self,
                                        SidebarPageRepresentative* entry,
                                        Page* page);
static void _library_window_on_destroying_page_sidebar_tree_destroying_page (SidebarTree* _sender,
                                                                      SidebarPageRepresentative* entry,
                                                                      Page* page,
                                                                      gpointer self);
static void library_window_on_sidebar_entry_selected (LibraryWindow* self,
                                               SidebarSelectableEntry* selectable);
static void _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected (SidebarTree* _sender,
                                                                            SidebarSelectableEntry* selectable,
                                                                            gpointer self);
static void library_window_on_sidebar_selected_entry_removed (LibraryWindow* self,
                                                       SidebarSelectableEntry* selectable);
static void _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed (SidebarTree* _sender,
                                                                                            SidebarSelectableEntry* removed,
                                                                                            gpointer self);
static void library_window_unsubscribe_from_basic_information (LibraryWindow* self,
                                                        Page* page);
Page* page_window_get_current_page (PageWindow* self);
static void library_window_hide_extended_properties (LibraryWindow* self);
static void _library_window_hide_extended_properties_gtk_widget_hide (GtkWidget* _sender,
                                                               gpointer self);
static void library_window_show_extended_properties (LibraryWindow* self);
static void _library_window_show_extended_properties_gtk_widget_show (GtkWidget* _sender,
                                                               gpointer self);
gpointer data_collection_ref (gpointer instance);
void data_collection_unref (gpointer instance);
GParamSpec* param_spec_data_collection (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_data_collection (GValue* value,
                                gpointer v_object);
void value_take_data_collection (GValue* value,
                                 gpointer v_object);
gpointer value_get_data_collection (const GValue* value);
GType data_collection_get_type (void) G_GNUC_CONST;
GType source_collection_get_type (void) G_GNUC_CONST;
GType database_source_collection_get_type (void) G_GNUC_CONST;
GType media_source_collection_get_type (void) G_GNUC_CONST;
gpointer media_collection_registry_ref (gpointer instance);
void media_collection_registry_unref (gpointer instance);
GParamSpec* param_spec_media_collection_registry (const gchar* name,
                                                  const gchar* nick,
                                                  const gchar* blurb,
                                                  GType object_type,
                                                  GParamFlags flags);
void value_set_media_collection_registry (GValue* value,
                                          gpointer v_object);
void value_take_media_collection_registry (GValue* value,
                                           gpointer v_object);
gpointer value_get_media_collection_registry (const GValue* value);
GType media_collection_registry_get_type (void) G_GNUC_CONST;
MediaCollectionRegistry* media_collection_registry_get_instance (void);
GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
static void library_window_on_trashcan_contents_altered (LibraryWindow* self);
GType data_object_get_type (void) G_GNUC_CONST;
GType data_source_get_type (void) G_GNUC_CONST;
GType thumbnail_source_get_type (void) G_GNUC_CONST;
GType media_source_get_type (void) G_GNUC_CONST;
static void _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender,
                                                                                                     GeeCollection* added,
                                                                                                     GeeCollection* removed,
                                                                                                     gpointer self);
static void library_window_on_media_altered (LibraryWindow* self);
gpointer alteration_ref (gpointer instance);
void alteration_unref (gpointer instance);
GParamSpec* param_spec_alteration (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
void value_set_alteration (GValue* value,
                           gpointer v_object);
void value_take_alteration (GValue* value,
                            gpointer v_object);
gpointer value_get_alteration (const GValue* value);
GType alteration_get_type (void) G_GNUC_CONST;
static void _library_window_on_media_altered_data_collection_items_altered (DataCollection* _sender,
                                                                     GeeMap* items,
                                                                     gpointer self);
GType metadata_writer_get_type (void) G_GNUC_CONST;
MetadataWriter* metadata_writer_get_instance (void);
static void library_window_on_metadata_writer_progress (LibraryWindow* self,
                                                 guint completed,
                                                 guint total);
static void _library_window_on_metadata_writer_progress_metadata_writer_progress (MetadataWriter* _sender,
                                                                           guint completed,
                                                                           guint total,
                                                                           gpointer self);
GType directory_monitor_get_type (void) G_GNUC_CONST;
GType library_monitor_get_type (void) G_GNUC_CONST;
gpointer library_monitor_pool_ref (gpointer instance);
void library_monitor_pool_unref (gpointer instance);
GParamSpec* param_spec_library_monitor_pool (const gchar* name,
                                             const gchar* nick,
                                             const gchar* blurb,
                                             GType object_type,
                                             GParamFlags flags);
void value_set_library_monitor_pool (GValue* value,
                                     gpointer v_object);
void value_take_library_monitor_pool (GValue* value,
                                      gpointer v_object);
gpointer value_get_library_monitor_pool (const GValue* value);
GType library_monitor_pool_get_type (void) G_GNUC_CONST;
LibraryMonitorPool* library_monitor_pool_get_instance (void);
LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self);
static void library_window_on_library_monitor_destroyed (LibraryWindow* self,
                                                  LibraryMonitor* monitor);
static void library_window_on_library_monitor_installed (LibraryWindow* self,
                                                  LibraryMonitor* monitor);
static void _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender,
                                                                                          LibraryMonitor* monitor,
                                                                                          gpointer self);
static void _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender,
                                                                                          LibraryMonitor* monitor,
                                                                                          gpointer self);
gpointer camera_table_ref (gpointer instance);
void camera_table_unref (gpointer instance);
GParamSpec* param_spec_camera_table (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
void value_set_camera_table (GValue* value,
                             gpointer v_object);
void value_take_camera_table (GValue* value,
                              gpointer v_object);
gpointer value_get_camera_table (const GValue* value);
GType camera_table_get_type (void) G_GNUC_CONST;
CameraTable* camera_table_get_instance (void);
gpointer discovered_camera_ref (gpointer instance);
void discovered_camera_unref (gpointer instance);
GParamSpec* param_spec_discovered_camera (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
void value_set_discovered_camera (GValue* value,
                                  gpointer v_object);
void value_take_discovered_camera (GValue* value,
                                   gpointer v_object);
gpointer value_get_discovered_camera (const GValue* value);
GType discovered_camera_get_type (void) G_GNUC_CONST;
static void library_window_on_camera_added (LibraryWindow* self,
                                     DiscoveredCamera* camera);
static void _library_window_on_camera_added_camera_table_camera_added (CameraTable* _sender,
                                                                DiscoveredCamera* camera,
                                                                gpointer self);
static GType library_window_sidebar_root_position_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
GType library_window_target_type_get_type (void) G_GNUC_CONST;
LibraryBranch* library_branch_new (void);
LibraryBranch* library_branch_construct (GType object_type);
TagsBranch* tags_branch_new (void);
TagsBranch* tags_branch_construct (GType object_type);
FoldersBranch* folders_branch_new (void);
FoldersBranch* folders_branch_construct (GType object_type);
EventsBranch* events_branch_new (void);
EventsBranch* events_branch_construct (GType object_type);
CameraBranch* camera_branch_new (void);
CameraBranch* camera_branch_construct (GType object_type);
SearchesBranch* searches_branch_new (void);
SearchesBranch* searches_branch_construct (GType object_type);
SearchFilterActions* search_filter_actions_new (void);
SearchFilterActions* search_filter_actions_construct (GType object_type);
BasicProperties* basic_properties_new (void);
BasicProperties* basic_properties_construct (GType object_type);
#define LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH 120
#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING "ascending"
#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING "descending"
#define LIBRARY_WINDOW_BACKGROUND_PROGRESS_PULSE_MSEC 250
#define LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES 20
#define LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY 35
#define LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY 40
#define LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY 50
#define LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY 30
#define LIBRARY_WINDOW_TAG_PATH_MIME_TYPE "shotwell/tag-path"
#define LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE "shotwell/media-id-atom"
static void library_window_on_file_import (LibraryWindow* self);
static void _library_window_on_file_import_gsimple_action_activate_callback (GSimpleAction* action,
                                                                      GVariant* parameter,
                                                                      gpointer self);
static void library_window_on_external_library_import (LibraryWindow* self);
static void _library_window_on_external_library_import_gsimple_action_activate_callback (GSimpleAction* action,
                                                                                  GVariant* parameter,
                                                                                  gpointer self);
static void library_window_on_preferences (LibraryWindow* self);
static void _library_window_on_preferences_gsimple_action_activate_callback (GSimpleAction* action,
                                                                      GVariant* parameter,
                                                                      gpointer self);
static void library_window_on_empty_trash (LibraryWindow* self);
static void _library_window_on_empty_trash_gsimple_action_activate_callback (GSimpleAction* action,
                                                                      GVariant* parameter,
                                                                      gpointer self);
static void library_window_on_jump_to_event (LibraryWindow* self);
static void _library_window_on_jump_to_event_gsimple_action_activate_callback (GSimpleAction* action,
                                                                        GVariant* parameter,
                                                                        gpointer self);
static void library_window_on_find (LibraryWindow* self);
static void _library_window_on_find_gsimple_action_activate_callback (GSimpleAction* action,
                                                               GVariant* parameter,
                                                               gpointer self);
static void library_window_on_new_search (LibraryWindow* self);
static void _library_window_on_new_search_gsimple_action_activate_callback (GSimpleAction* action,
                                                                     GVariant* parameter,
                                                                     gpointer self);
static void library_window_on_action_toggle (LibraryWindow* self,
                                      GAction* action,
                                      GVariant* value);
static void _library_window_on_action_toggle_gsimple_action_activate_callback (GSimpleAction* action,
                                                                        GVariant* parameter,
                                                                        gpointer self);
static void library_window_on_display_basic_properties (LibraryWindow* self,
                                                 GSimpleAction* action,
                                                 GVariant* value);
static void _library_window_on_display_basic_properties_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                       GVariant* value,
                                                                                       gpointer self);
static void library_window_on_display_extended_properties (LibraryWindow* self,
                                                    GSimpleAction* action,
                                                    GVariant* value);
static void _library_window_on_display_extended_properties_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                          GVariant* value,
                                                                                          gpointer self);
static void library_window_on_display_searchbar (LibraryWindow* self,
                                          GSimpleAction* action,
                                          GVariant* value);
static void _library_window_on_display_searchbar_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                GVariant* value,
                                                                                gpointer self);
static void library_window_on_display_sidebar (LibraryWindow* self,
                                        GSimpleAction* action,
                                        GVariant* variant);
static void _library_window_on_display_sidebar_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                              GVariant* value,
                                                                              gpointer self);
static void library_window_on_display_toolbar (LibraryWindow* self,
                                        GSimpleAction* action,
                                        GVariant* variant);
static void _library_window_on_display_toolbar_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                              GVariant* value,
                                                                              gpointer self);
static void library_window_on_action_radio (LibraryWindow* self,
                                     GAction* action,
                                     GVariant* value);
static void _library_window_on_action_radio_gsimple_action_activate_callback (GSimpleAction* action,
                                                                       GVariant* parameter,
                                                                       gpointer self);
static void library_window_on_events_sort_changed (LibraryWindow* self,
                                            GSimpleAction* action,
                                            GVariant* value);
static void _library_window_on_events_sort_changed_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                  GVariant* value,
                                                                                  gpointer self);
LibraryWindow* library_window_new (ProgressMonitor progress_monitor,
                                   void* progress_monitor_target);
LibraryWindow* library_window_construct (GType object_type,
                                         ProgressMonitor progress_monitor,
                                         void* progress_monitor_target);
AppWindow* app_window_construct (GType object_type);
static void library_window_external_drop_handler (LibraryWindow* self,
                                           GdkDragContext* context,
                                           SidebarEntry* entry,
                                           GtkSelectionData* data,
                                           guint info,
                                           guint time);
static void _library_window_external_drop_handler_sidebar_tree_external_drop_handler (GdkDragContext* context,
                                                                               SidebarEntry* entry,
                                                                               GtkSelectionData* data,
                                                                               guint info,
                                                                               guint time,
                                                                               gpointer self);
SidebarTree* sidebar_tree_new (GtkTargetEntry* target_entries,
                               int target_entries_length1,
                               GdkDragAction actions,
                               SidebarTreeExternalDropHandler drop_handler,
                               void* drop_handler_target);
SidebarTree* sidebar_tree_construct (GType object_type,
                                     GtkTargetEntry* target_entries,
                                     int target_entries_length1,
                                     GdkDragAction actions,
                                     SidebarTreeExternalDropHandler drop_handler,
                                     void* drop_handler_target);
void sidebar_tree_graft (SidebarTree* self,
                         SidebarBranch* branch,
                         gint position);
ExtendedPropertiesWindow* extended_properties_window_new (GtkWindow* owner);
ExtendedPropertiesWindow* extended_properties_window_construct (GType object_type,
                                                                GtkWindow* owner);
static void library_window_on_update_properties_now (LibraryWindow* self);
static void _library_window_on_update_properties_now_one_shot_callback (gpointer self);
OneShotScheduler* one_shot_scheduler_new (const gchar* name,
                                          OneShotCallback callback,
                                          void* callback_target);
OneShotScheduler* one_shot_scheduler_construct (GType object_type,
                                                const gchar* name,
                                                OneShotCallback callback,
                                                void* callback_target);
SearchFilterToolbar* search_filter_toolbar_new (SearchFilterActions* actions);
SearchFilterToolbar* search_filter_toolbar_construct (GType object_type,
                                                      SearchFilterActions* actions);
static void library_window_create_layout (LibraryWindow* self,
                                   Page* start_page);
GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
GType library_photos_entry_get_type (void) G_GNUC_CONST;
LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self);
Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self);
static void library_window_load_configuration (LibraryWindow* self);
void application_set_accels_for_action (const gchar* action,
                                        gchar** accel,
                                        int accel_length1);
GFile* directory_monitor_get_root (DirectoryMonitor* self);
static void library_window_on_library_monitor_discovery_started (LibraryWindow* self);
static void _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started (DirectoryMonitor* _sender,
                                                                                               gpointer self);
static void library_window_on_library_monitor_discovery_completed (LibraryWindow* self);
static void _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender,
                                                                                                   gpointer self);
static void _library_window_on_library_monitor_discovery_completed_directory_monitor_closed (DirectoryMonitor* _sender,
                                                                                      gpointer self);
static void library_window_on_library_monitor_auto_update_progress (LibraryWindow* self,
                                                             gint completed_files,
                                                             gint total_files);
static void _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress (LibraryMonitor* _sender,
                                                                                                   gint completed_files,
                                                                                                   gint total_files,
                                                                                                   gpointer self);
static void library_window_on_library_monitor_auto_import_preparing (LibraryWindow* self);
static void _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing (LibraryMonitor* _sender,
                                                                                                     gpointer self);
static void library_window_on_library_monitor_auto_import_progress (LibraryWindow* self,
                                                             guint64 completed_bytes,
                                                             guint64 total_bytes);
static void _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress (LibraryMonitor* _sender,
                                                                                                   guint64 completed_bytes,
                                                                                                   guint64 total_bytes,
                                                                                                   gpointer self);
static void library_window_real_add_actions (AppWindow* base);
void app_window_add_actions (AppWindow* self);
GActionEntry* search_filter_actions_get_actions (SearchFilterActions* self,
                                                 int* result_length1);
GType configuration_facade_get_type (void) G_GNUC_CONST;
GType config_facade_get_type (void) G_GNUC_CONST;
ConfigFacade* config_facade_get_instance (void);
gboolean configuration_facade_get_display_search_bar (ConfigurationFacade* self);
static GVariant* _variant_new1 (gboolean value);
static gboolean library_window_is_sidebar_visible (LibraryWindow* self);
static GVariant* _variant_new2 (gboolean value);
static gboolean library_window_is_toolbar_visible (LibraryWindow* self);
static GVariant* _variant_new3 (gboolean value);
static void library_window_real_switched_pages (PageWindow* base,
                                         Page* old_page,
                                         Page* new_page);
void page_window_switched_pages (PageWindow* self,
                                 Page* old_page,
                                 Page* new_page);
GType view_collection_get_type (void) G_GNUC_CONST;
ViewCollection* page_get_view (Page* self);
gpointer view_filter_ref (gpointer instance);
void view_filter_unref (gpointer instance);
GParamSpec* param_spec_view_filter (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
void value_set_view_filter (GValue* value,
                            gpointer v_object);
void value_take_view_filter (GValue* value,
                             gpointer v_object);
gpointer value_get_view_filter (const GValue* value);
GType view_filter_get_type (void) G_GNUC_CONST;
static void library_window_on_view_filter_installed (LibraryWindow* self,
                                              ViewFilter* filter);
static void _library_window_on_view_filter_installed_view_collection_view_filter_installed (ViewCollection* _sender,
                                                                                     ViewFilter* filer,
                                                                                     gpointer self);
static void library_window_on_view_filter_removed (LibraryWindow* self,
                                            ViewFilter* filter);
static void _library_window_on_view_filter_removed_view_collection_view_filter_removed (ViewCollection* _sender,
                                                                                 ViewFilter* filer,
                                                                                 gpointer self);
void search_filter_actions_monitor_page_contents (SearchFilterActions* self,
                                                  Page* old_page,
                                                  Page* new_page);
static void library_window_on_view_filter_refreshed (LibraryWindow* self);
static void _library_window_on_view_filter_refreshed_view_filter_refresh (ViewFilter* _sender,
                                                                   gpointer self);
gboolean view_collection_are_items_filtered_out (ViewCollection* self);
static GVariant* _variant_new4 (gboolean value);
static void library_window_real_show_all (GtkWidget* base);
GAction* page_get_common_action (Page* self,
                                 const gchar* name,
                                 gboolean log_warning);
GType checkerboard_page_get_type (void) G_GNUC_CONST;
static void library_window_init_view_filter (LibraryWindow* self,
                                      CheckerboardPage* page);
static void library_window_toggle_search_bar (LibraryWindow* self,
                                       gboolean show,
                                       CheckerboardPage* page);
static gboolean library_window_should_show_search_bar (LibraryWindow* self);
static void library_window_set_sidebar_visible (LibraryWindow* self,
                                         gboolean visible);
LibraryWindow* library_window_get_app (void);
gboolean library_window_is_mount_uri_supported (const gchar* uri);
static gchar* library_window_real_get_app_role (AppWindow* base);
#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager")
GType tag_get_type (void) G_GNUC_CONST;
void library_window_rename_tag_in_sidebar (LibraryWindow* self,
                                           Tag* tag);
GType tags_sidebar_entry_get_type (void) G_GNUC_CONST;
TagsSidebarEntry* tags_branch_get_entry_for_tag (TagsBranch* self,
                                                 Tag* tag);
gboolean sidebar_tree_rename_entry_in_place (SidebarTree* self,
                                             SidebarEntry* entry);
GType event_source_get_type (void) G_GNUC_CONST;
GType event_get_type (void) G_GNUC_CONST;
void library_window_rename_event_in_sidebar (LibraryWindow* self,
                                             Event* event);
GType events_event_entry_get_type (void) G_GNUC_CONST;
EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self,
                                                     Event* event);
GType saved_search_get_type (void) G_GNUC_CONST;
void library_window_rename_search_in_sidebar (LibraryWindow* self,
                                              SavedSearch* search);
GType searches_sidebar_entry_get_type (void) G_GNUC_CONST;
SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self,
                                                                  SavedSearch* search);
static void library_window_real_on_quit (AppWindow* base);
void configuration_facade_set_library_window_state (ConfigurationFacade* self,
                                                    gboolean maximize,
                                                    Dimensions* dimensions);
void configuration_facade_set_sidebar_position (ConfigurationFacade* self,
                                                gint position);
void app_window_on_quit (AppWindow* self);
GType media_page_get_type (void) G_GNUC_CONST;
GType collection_page_get_type (void) G_GNUC_CONST;
GType photo_source_get_type (void) G_GNUC_CONST;
GType photo_get_type (void) G_GNUC_CONST;
static Photo* library_window_get_start_fullscreen_photo (LibraryWindow* self,
                                                  CollectionPage* page);
gint view_collection_get_selected_count (ViewCollection* self);
GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self,
                                                       GType t);
GType library_photo_get_type (void) G_GNUC_CONST;
GeeList* view_collection_get_sources_of_type (ViewCollection* self,
                                              GType t);
static gboolean library_window_get_fullscreen_photo (LibraryWindow* self,
                                              Page* page,
                                              CollectionPage* * collection,
                                              Photo* * start,
                                              ViewCollection* * view_collection);
GType events_directory_page_get_type (void) G_GNUC_CONST;
gint data_collection_get_count (DataCollection* self);
DataObject* data_collection_get_at (DataCollection* self,
                                    gint index);
GType data_view_get_type (void) G_GNUC_CONST;
DataSource* data_view_get_source (DataView* self);
GType event_page_get_type (void) G_GNUC_CONST;
CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self);
gboolean editing_host_page_has_photo (EditingHostPage* self);
Photo* editing_host_page_get_photo (EditingHostPage* self);
static void library_window_real_on_fullscreen (AppWindow* base);
static GType library_window_fullscreen_photo_page_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_new (CollectionPage* collection,
                                                                            Photo* start,
                                                                            ViewCollection* view);
static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_construct (GType object_type,
                                                                                  CollectionPage* collection,
                                                                                  Photo* start,
                                                                                  ViewCollection* view);
void app_window_go_fullscreen (AppWindow* self,
                               Page* page);
#define RESOURCES_CANCEL_LABEL _ ("_Cancel")
#define RESOURCES_OK_LABEL _ ("_OK")
gboolean app_dirs_is_in_import_dir (GFile* file);
GtkResponseType copy_files_dialog (void);
static void library_window_dispatch_import_jobs (LibraryWindow* self,
                                          GSList* uris,
                                          const gchar* job_name,
                                          gboolean copy_to_library,
                                          gboolean recurse);
static void _g_free0_ (gpointer var);
static inline void _g_slist_free__g_free0_ (GSList* self);
GType data_imports_ui_data_imports_dialog_get_type (void) G_GNUC_CONST;
DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_get_or_create_instance (void);
static void library_window_real_update_common_action_availability (AppWindow* base,
                                                            Page* old_page,
                                                            Page* new_page);
void app_window_update_common_action_availability (AppWindow* self,
                                                   Page* old_page,
                                                   Page* new_page);
void app_window_set_common_action_sensitive (AppWindow* self,
                                             const gchar* name,
                                             gboolean sensitive);
static void library_window_real_update_common_actions (AppWindow* base,
                                                Page* page,
                                                gint selected_count,
                                                gint count);
static gboolean library_window_can_empty_trash (LibraryWindow* self);
void app_window_set_common_action_visible (AppWindow* self,
                                           const gchar* name,
                                           gboolean visible);
static gboolean library_window_can_jump_to_event (LibraryWindow* self);
void app_window_update_common_actions (AppWindow* self,
                                       Page* page,
                                       gint selected_count,
                                       gint count);
GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
gint media_source_collection_get_trashcan_count (MediaSourceCollection* self);
GType video_source_collection_get_type (void) G_GNUC_CONST;
GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self);
void remove_from_app (GeeCollection* sources,
                      const gchar* dialog_title,
                      const gchar* progress_dialog_text);
gpointer command_manager_ref (gpointer instance);
void command_manager_unref (gpointer instance);
GParamSpec* param_spec_command_manager (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_command_manager (GValue* value,
                                gpointer v_object);
void value_take_command_manager (GValue* value,
                                 gpointer v_object);
gpointer value_get_command_manager (const GValue* value);
GType command_manager_get_type (void) G_GNUC_CONST;
CommandManager* app_window_get_command_manager (void);
void command_manager_reset (CommandManager* self);
SavedSearchDialog* saved_search_dialog_new (void);
SavedSearchDialog* saved_search_dialog_construct (GType object_type);
GType saved_search_dialog_get_type (void) G_GNUC_CONST;
void saved_search_dialog_show (SavedSearchDialog* self);
DataSource* view_collection_get_selected_source_at (ViewCollection* self,
                                                    gint index);
Event* media_source_get_event (MediaSource* self);
void library_window_switch_to_event (LibraryWindow* self,
                                     Event* event);
static GVariant* _variant_new5 (gboolean value);
void search_filter_toolbar_take_focus (SearchFilterToolbar* self);
static void library_window_on_clear_search (LibraryWindow* self);
void search_filter_actions_reset (SearchFilterActions* self);
gint library_window_get_events_sort (LibraryWindow* self);
void configuration_facade_set_events_sort_ascending (ConfigurationFacade* self,
                                                     gboolean sort);
void preferences_dialog_show_preferences (void);
void properties_update_properties (Properties* self,
                                   Page* page);
void configuration_facade_set_display_basic_properties (ConfigurationFacade* self,
                                                        gboolean display);
static gboolean _variant_get6 (GVariant* value);
static GVariant* _variant_new7 (gboolean value);
void extended_properties_window_update_properties (ExtendedPropertiesWindow* self,
                                                   Page* page);
void configuration_facade_set_display_search_bar (ConfigurationFacade* self,
                                                  gboolean display);
void library_window_show_search_bar (LibraryWindow* self,
                                     gboolean display);
static GVariant* _variant_new8 (gboolean value);
void configuration_facade_set_display_sidebar (ConfigurationFacade* self,
                                               gboolean display);
gboolean configuration_facade_get_display_sidebar (ConfigurationFacade* self);
static void library_window_set_toolbar_visible (LibraryWindow* self,
                                         gboolean visible);
GtkToolbar* page_get_toolbar (Page* self);
void configuration_facade_set_display_toolbar (ConfigurationFacade* self,
                                               gboolean display);
gboolean configuration_facade_get_display_toolbar (ConfigurationFacade* self);
static void library_window_sync_extended_properties (LibraryWindow* self,
                                              gboolean show);
static GVariant* _variant_new9 (gboolean value);
void configuration_facade_set_display_extended_properties (ConfigurationFacade* self,
                                                           gboolean display);
GType batch_import_get_type (void) G_GNUC_CONST;
void library_window_enqueue_batch_import (LibraryWindow* self,
                                          BatchImport* batch_import,
                                          gboolean allow_user_cancel);
GType library_hideable_page_entry_get_type (void) G_GNUC_CONST;
GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST;
LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self);
void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self,
                                                              BatchImport* batch_import,
                                                              gboolean allow_user_cancel);
gpointer import_manifest_ref (gpointer instance);
void import_manifest_unref (gpointer instance);
GParamSpec* param_spec_import_manifest (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_import_manifest (GValue* value,
                                gpointer v_object);
void value_take_import_manifest (GValue* value,
                                 gpointer v_object);
gpointer value_get_import_manifest (const GValue* value);
GType import_manifest_get_type (void) G_GNUC_CONST;
static void library_window_import_reporter (LibraryWindow* self,
                                     ImportManifest* manifest);
gpointer import_ui_question_params_ref (gpointer instance);
void import_ui_question_params_unref (gpointer instance);
GParamSpec* import_ui_param_spec_question_params (const gchar* name,
                                                  const gchar* nick,
                                                  const gchar* blurb,
                                                  GType object_type,
                                                  GParamFlags flags);
void import_ui_value_set_question_params (GValue* value,
                                          gpointer v_object);
void import_ui_value_take_question_params (GValue* value,
                                           gpointer v_object);
gpointer import_ui_value_get_question_params (const GValue* value);
GType import_ui_question_params_get_type (void) G_GNUC_CONST;
gboolean import_ui_report_manifest (ImportManifest* manifest,
                                    gboolean show_dest_id,
                                    ImportUIQuestionParams* question);
GFile* app_dirs_get_import_dir (void);
GtkResponseType app_window_affirm_cancel_question (const gchar* message,
                                                   const gchar* affirmative,
                                                   const gchar* title,
                                                   GtkWindow* parent);
AppWindow* app_window_get_instance (void);
gpointer batch_import_job_ref (gpointer instance);
void batch_import_job_unref (gpointer instance);
GParamSpec* param_spec_batch_import_job (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
void value_set_batch_import_job (GValue* value,
                                 gpointer v_object);
void value_take_batch_import_job (GValue* value,
                                  gpointer v_object);
gpointer value_get_batch_import_job (const GValue* value);
GType batch_import_job_get_type (void) G_GNUC_CONST;
GType file_import_job_get_type (void) G_GNUC_CONST;
void app_window_error_message (const gchar* message,
                               GtkWindow* parent);
FileImportJob* file_import_job_new (GFile* file_or_dir,
                                    gboolean copy_to_library,
                                    gboolean recurse);
FileImportJob* file_import_job_construct (GType object_type,
                                          GFile* file_or_dir,
                                          gboolean copy_to_library,
                                          gboolean recurse);
gpointer batch_import_roll_ref (gpointer instance);
void batch_import_roll_unref (gpointer instance);
GParamSpec* param_spec_batch_import_roll (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
void value_set_batch_import_roll (GValue* value,
                                  gpointer v_object);
void value_take_batch_import_roll (GValue* value,
                                   gpointer v_object);
gpointer value_get_batch_import_roll (const GValue* value);
GType batch_import_roll_get_type (void) G_GNUC_CONST;
static void _library_window_import_reporter_batch_import_import_reporter (ImportManifest* manifest,
                                                                   BatchImportRoll* import_roll,
                                                                   gpointer self);
BatchImport* batch_import_new (GeeIterable* jobs,
                               const gchar* name,
                               BatchImportImportReporter reporter,
                               void* reporter_target,
                               GeeArrayList* prefailed,
                               GeeArrayList* pre_already_imported,
                               GCancellable* cancellable,
                               BatchImportRoll* import_roll,
                               ImportManifest* skip_manifest);
BatchImport* batch_import_construct (GType object_type,
                                     GeeIterable* jobs,
                                     const gchar* name,
                                     BatchImportImportReporter reporter,
                                     void* reporter_target,
                                     GeeArrayList* prefailed,
                                     GeeArrayList* pre_already_imported,
                                     GCancellable* cancellable,
                                     BatchImportRoll* import_roll,
                                     ImportManifest* skip_manifest);
void library_window_switch_to_import_queue_page (LibraryWindow* self);
static GdkDragAction library_window_get_drag_action (LibraryWindow* self);
static gboolean library_window_real_drag_motion (GtkWidget* base,
                                          GdkDragContext* context,
                                          gint x,
                                          gint y,
                                          guint time);
static void library_window_real_drag_data_received (GtkWidget* base,
                                             GdkDragContext* context,
                                             gint x,
                                             gint y,
                                             GtkSelectionData* selection_data,
                                             guint info,
                                             guint time);
void library_window_switch_to_library_page (LibraryWindow* self);
void library_window_switch_to_page (LibraryWindow* self,
                                    Page* page);
void library_window_switch_to_tag (LibraryWindow* self,
                                   Tag* tag);
void library_window_switch_to_saved_search (LibraryWindow* self,
                                            SavedSearch* search);
void library_window_switch_to_photo_page (LibraryWindow* self,
                                          CollectionPage* controller,
                                          Photo* current);
DataView* view_collection_get_view_for_source (ViewCollection* self,
                                               DataSource* source);
LibraryPhotoPage* library_photo_page_new (void);
LibraryPhotoPage* library_photo_page_construct (GType object_type);
void library_window_add_to_stack (LibraryWindow* self,
                                  Page* page);
void spin_event_loop (void);
void library_photo_page_display_for_collection (LibraryPhotoPage* self,
                                                CollectionPage* return_page,
                                                Photo* photo,
                                                ViewCollection* view);
GType camera_sidebar_entry_get_type (void) G_GNUC_CONST;
CameraSidebarEntry* camera_branch_get_entry_for_camera (CameraBranch* self,
                                                        DiscoveredCamera* camera);
GType import_page_get_type (void) G_GNUC_CONST;
gboolean import_page_unmount_camera (ImportPage* self,
                                     GMount* mount);
static void library_window_remove_from_stack (LibraryWindow* self,
                                       Page* page);
gboolean configuration_facade_get_display_basic_properties (ConfigurationFacade* self);
static GVariant* _variant_new10 (gboolean value);
gboolean configuration_facade_get_display_extended_properties (ConfigurationFacade* self);
static GVariant* _variant_new11 (gboolean value);
static GVariant* _variant_new12 (gboolean value);
gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self);
static GVariant* _variant_new13 (const gchar* value);
static void library_window_start_pulse_background_progress_bar (LibraryWindow* self,
                                                         const gchar* label,
                                                         gint priority);
static void library_window_stop_pulse_background_progress_bar (LibraryWindow* self,
                                                        gint priority,
                                                        gboolean clear);
static void library_window_show_background_progress_bar (LibraryWindow* self);
static gboolean library_window_on_pulse_background_progress_bar (LibraryWindow* self);
static gboolean _library_window_on_pulse_background_progress_bar_gsource_func (gpointer self);
static void library_window_clear_background_progress_bar (LibraryWindow* self,
                                                   gint priority);
static void library_window_update_background_progress_bar (LibraryWindow* self,
                                                    const gchar* label,
                                                    gint priority,
                                                    gdouble count,
                                                    gdouble total);
static void library_window_hide_background_progress_bar (LibraryWindow* self);
gint configuration_facade_get_sidebar_position (ConfigurationFacade* self);
gint library_window_get_PAGE_MIN_WIDTH (void);
static void library_window_real_set_current_page (PageWindow* base,
                                           Page* page);
void library_window_set_page_switching_enabled (LibraryWindow* self,
                                                gboolean should_enable);
void application_set_menubar (GMenuModel* model);
void page_switching_from (Page* self);
void sidebar_tree_enable_editing (SidebarTree* self);
void page_window_set_current_page (PageWindow* self,
                                   Page* page);
void sidebar_tree_disable_editing (SidebarTree* self);
GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST;
gboolean sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self);
gboolean sidebar_tree_expand_to_entry (SidebarTree* self,
                                       SidebarEntry* entry);
gboolean sidebar_tree_place_cursor (SidebarTree* self,
                                    SidebarEntry* entry,
                                    gboolean mask_signal);
static void library_window_on_update_properties (LibraryWindow* self);
static void library_window_subscribe_for_basic_information (LibraryWindow* self,
                                                     Page* page);
void page_switched_to (Page* self);
GMenuModel* page_get_menubar (Page* self);
void page_ready (Page* self);
GType search_view_filter_get_type (void) G_GNUC_CONST;
void search_filter_toolbar_set_view_filter (SearchFilterToolbar* self,
                                            SearchViewFilter* search_filter);
SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self);
void view_collection_install_view_filter (ViewCollection* self,
                                          ViewFilter* f);
DisabledViewFilter* disabled_view_filter_new (void);
DisabledViewFilter* disabled_view_filter_construct (GType object_type);
GType disabled_view_filter_get_type (void) G_GNUC_CONST;
GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST;
LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self);
gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self);
gboolean sidebar_branch_get_show_branch (SidebarBranch* self);
GType events_directory_entry_get_type (void) G_GNUC_CONST;
GType events_master_directory_entry_get_type (void) G_GNUC_CONST;
EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self);
static void _library_window_on_update_properties_view_collection_items_state_changed (ViewCollection* _sender,
                                                                               GeeIterable* changed,
                                                                               gpointer self);
static void _library_window_on_update_properties_data_collection_items_altered (DataCollection* _sender,
                                                                         GeeMap* items,
                                                                         gpointer self);
static void _library_window_on_update_properties_data_collection_contents_altered (DataCollection* _sender,
                                                                            GeeIterable* added,
                                                                            GeeIterable* removed,
                                                                            gpointer self);
static void _library_window_on_update_properties_view_collection_items_visibility_changed (ViewCollection* _sender,
                                                                                    GeeCollection* changed,
                                                                                    gpointer self);
void one_shot_scheduler_at_idle (OneShotScheduler* self);
void library_window_mounted_camera_shell_notification (LibraryWindow* self,
                                                       const gchar* uri,
                                                       gboolean at_startup);
gchar* camera_table_get_port_uri (const gchar* port);
gboolean is_string_empty (const gchar* s);
static gboolean library_window_real_key_press_event (GtkWidget* base,
                                              GdkEventKey* event);
gboolean sidebar_tree_is_keypress_interpreted (SidebarTree* self,
                                               GdkEventKey* event);
gint thumbnail_get_MAX_SCALE (void);
#define CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING 24
GType fullscreen_window_get_type (void) G_GNUC_CONST;
gpointer injection_group_ref (gpointer instance);
void injection_group_unref (gpointer instance);
GParamSpec* param_spec_injection_group (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_injection_group (GValue* value,
                                gpointer v_object);
void value_take_injection_group (GValue* value,
                                 gpointer v_object);
gpointer value_get_injection_group (const GValue* value);
GType injection_group_get_type (void) G_GNUC_CONST;
GType zoom_buffer_get_type (void) G_GNUC_CONST;
GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST;
GType raw_developer_get_type (void) G_GNUC_CONST;
#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPagePrivate))
static void library_window_fullscreen_photo_page_real_switched_to (Page* base);
static void library_window_fullscreen_photo_page_real_switching_from (Page* base);
static void library_window_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base,
                                                                          GeeList* ui_filenames);
static void library_window_fullscreen_photo_page_finalize (GObject * obj);
static void library_window_finalize (GObject * obj);
static void _vala_library_window_get_property (GObject * object,
                                        guint property_id,
                                        GValue * value,
                                        GParamSpec * pspec);
static void _vala_array_destroy (gpointer array,
                          gint array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gint array_length,
                       GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);

static const gchar* LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES[4] = {"gphoto2:", "disk:", "file:", "mtp:"};
const GtkTargetEntry LIBRARY_WINDOW_DND_TARGET_ENTRIES[3] = {{"text/uri-list", (guint) GTK_TARGET_OTHER_APP, (guint) LIBRARY_WINDOW_TARGET_TYPE_URI_LIST}, {LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE, (guint) GTK_TARGET_SAME_APP, (guint) LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST}, {LIBRARY_WINDOW_TAG_PATH_MIME_TYPE, (guint) GTK_TARGET_SAME_WIDGET, (guint) LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH}};
static const GActionEntry LIBRARY_WINDOW_common_actions[13] = {{"CommonFileImport", _library_window_on_file_import_gsimple_action_activate_callback}, {"ExternalLibraryImport", _library_window_on_external_library_import_gsimple_action_activate_callback}, {"CommonPreferences", _library_window_on_preferences_gsimple_action_activate_callback}, {"CommonEmptyTrash", _library_window_on_empty_trash_gsimple_action_activate_callback}, {"CommonJumpToEvent", _library_window_on_jump_to_event_gsimple_action_activate_callback}, {"CommonFind", _library_window_on_find_gsimple_action_activate_callback}, {"CommonNewSearch", _library_window_on_new_search_gsimple_action_activate_callback}, {"CommonDisplayBasicProperties", _library_window_on_action_toggle_gsimple_action_activate_callback, NULL, "false", _library_window_on_display_basic_properties_gsimple_action_change_state_callback}, {"CommonDisplayExtendedProperties", _library_window_on_action_toggle_gsimple_action_activate_callback, NULL, "false", _library_window_on_display_extended_properties_gsimple_action_change_state_callback}, {"CommonDisplaySearchbar", NULL, NULL, "false", _library_window_on_display_searchbar_gsimple_action_change_state_callback}, {"CommonDisplaySidebar", _library_window_on_action_toggle_gsimple_action_activate_callback, NULL, "true", _library_window_on_display_sidebar_gsimple_action_change_state_callback}, {"CommonDisplayToolbar", NULL, NULL, "true", _library_window_on_display_toolbar_gsimple_action_change_state_callback}, {"CommonSortEvents", _library_window_on_action_radio_gsimple_action_activate_callback, "s", "'ascending'", _library_window_on_events_sort_changed_gsimple_action_change_state_callback}};

static void
_library_window_on_page_created_sidebar_tree_page_created (SidebarTree* _sender,
                                                           SidebarPageRepresentative* entry,
                                                           Page* page,
                                                           gpointer self)
{
#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_page_created ((LibraryWindow*) self, entry, page);
#line 2150 "LibraryWindow.c"
}


static void
_library_window_on_destroying_page_sidebar_tree_destroying_page (SidebarTree* _sender,
                                                                 SidebarPageRepresentative* entry,
                                                                 Page* page,
                                                                 gpointer self)
{
#line 225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_destroying_page ((LibraryWindow*) self, entry, page);
#line 2162 "LibraryWindow.c"
}


static void
_library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected (SidebarTree* _sender,
                                                                       SidebarSelectableEntry* selectable,
                                                                       gpointer self)
{
#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_sidebar_entry_selected ((LibraryWindow*) self, selectable);
#line 2173 "LibraryWindow.c"
}


static void
_library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed (SidebarTree* _sender,
                                                                                       SidebarSelectableEntry* removed,
                                                                                       gpointer self)
{
#line 227 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_sidebar_selected_entry_removed ((LibraryWindow*) self, removed);
#line 2184 "LibraryWindow.c"
}


static void
_library_window_hide_extended_properties_gtk_widget_hide (GtkWidget* _sender,
                                                          gpointer self)
{
#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_hide_extended_properties ((LibraryWindow*) self);
#line 2194 "LibraryWindow.c"
}


static void
_library_window_show_extended_properties_gtk_widget_show (GtkWidget* _sender,
                                                          gpointer self)
{
#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_show_extended_properties ((LibraryWindow*) self);
#line 2204 "LibraryWindow.c"
}


static void
_library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender,
                                                                                                GeeCollection* added,
                                                                                                GeeCollection* removed,
                                                                                                gpointer self)
{
#line 235 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_trashcan_contents_altered ((LibraryWindow*) self);
#line 2216 "LibraryWindow.c"
}


static void
_library_window_on_media_altered_data_collection_items_altered (DataCollection* _sender,
                                                                GeeMap* items,
                                                                gpointer self)
{
#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_media_altered ((LibraryWindow*) self);
#line 2227 "LibraryWindow.c"
}


static void
_library_window_on_metadata_writer_progress_metadata_writer_progress (MetadataWriter* _sender,
                                                                      guint completed,
                                                                      guint total,
                                                                      gpointer self)
{
#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_metadata_writer_progress ((LibraryWindow*) self, completed, total);
#line 2239 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender,
                                                                                     LibraryMonitor* monitor,
                                                                                     gpointer self)
{
#line 245 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_installed ((LibraryWindow*) self, monitor);
#line 2250 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender,
                                                                                     LibraryMonitor* monitor,
                                                                                     gpointer self)
{
#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_destroyed ((LibraryWindow*) self, monitor);
#line 2261 "LibraryWindow.c"
}


static void
_library_window_on_camera_added_camera_table_camera_added (CameraTable* _sender,
                                                           DiscoveredCamera* camera,
                                                           gpointer self)
{
#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_camera_added ((LibraryWindow*) self, camera);
#line 2272 "LibraryWindow.c"
}


static GType
library_window_sidebar_root_position_get_type (void)
{
	static volatile gsize library_window_sidebar_root_position_type_id__volatile = 0;
	if (g_once_init_enter (&library_window_sidebar_root_position_type_id__volatile)) {
		static const GEnumValue values[] = {{LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY", "library"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS", "cameras"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH", "saved-search"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS", "events"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS", "folders"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS", "tags"}, {0, NULL, NULL}};
		GType library_window_sidebar_root_position_type_id;
		library_window_sidebar_root_position_type_id = g_enum_register_static ("LibraryWindowSidebarRootPosition", values);
		g_once_init_leave (&library_window_sidebar_root_position_type_id__volatile, library_window_sidebar_root_position_type_id);
	}
	return library_window_sidebar_root_position_type_id__volatile;
}


GType
library_window_target_type_get_type (void)
{
	static volatile gsize library_window_target_type_type_id__volatile = 0;
	if (g_once_init_enter (&library_window_target_type_type_id__volatile)) {
		static const GEnumValue values[] = {{LIBRARY_WINDOW_TARGET_TYPE_URI_LIST, "LIBRARY_WINDOW_TARGET_TYPE_URI_LIST", "uri-list"}, {LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST, "LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST", "media-list"}, {LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH, "LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH", "tag-path"}, {0, NULL, NULL}};
		GType library_window_target_type_type_id;
		library_window_target_type_type_id = g_enum_register_static ("LibraryWindowTargetType", values);
		g_once_init_leave (&library_window_target_type_type_id__volatile, library_window_target_type_type_id);
	}
	return library_window_target_type_type_id__volatile;
}


static void
_library_window_on_file_import_gsimple_action_activate_callback (GSimpleAction* action,
                                                                 GVariant* parameter,
                                                                 gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_file_import ((LibraryWindow*) self);
#line 2311 "LibraryWindow.c"
}


static void
_library_window_on_external_library_import_gsimple_action_activate_callback (GSimpleAction* action,
                                                                             GVariant* parameter,
                                                                             gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_external_library_import ((LibraryWindow*) self);
#line 2322 "LibraryWindow.c"
}


static void
_library_window_on_preferences_gsimple_action_activate_callback (GSimpleAction* action,
                                                                 GVariant* parameter,
                                                                 gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_preferences ((LibraryWindow*) self);
#line 2333 "LibraryWindow.c"
}


static void
_library_window_on_empty_trash_gsimple_action_activate_callback (GSimpleAction* action,
                                                                 GVariant* parameter,
                                                                 gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_empty_trash ((LibraryWindow*) self);
#line 2344 "LibraryWindow.c"
}


static void
_library_window_on_jump_to_event_gsimple_action_activate_callback (GSimpleAction* action,
                                                                   GVariant* parameter,
                                                                   gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_jump_to_event ((LibraryWindow*) self);
#line 2355 "LibraryWindow.c"
}


static void
_library_window_on_find_gsimple_action_activate_callback (GSimpleAction* action,
                                                          GVariant* parameter,
                                                          gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_find ((LibraryWindow*) self);
#line 2366 "LibraryWindow.c"
}


static void
_library_window_on_new_search_gsimple_action_activate_callback (GSimpleAction* action,
                                                                GVariant* parameter,
                                                                gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_new_search ((LibraryWindow*) self);
#line 2377 "LibraryWindow.c"
}


static void
_library_window_on_action_toggle_gsimple_action_activate_callback (GSimpleAction* action,
                                                                   GVariant* parameter,
                                                                   gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_action_toggle ((LibraryWindow*) self, action, parameter);
#line 2388 "LibraryWindow.c"
}


static void
_library_window_on_display_basic_properties_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                  GVariant* value,
                                                                                  gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_display_basic_properties ((LibraryWindow*) self, action, value);
#line 2399 "LibraryWindow.c"
}


static void
_library_window_on_display_extended_properties_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                     GVariant* value,
                                                                                     gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_display_extended_properties ((LibraryWindow*) self, action, value);
#line 2410 "LibraryWindow.c"
}


static void
_library_window_on_display_searchbar_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                           GVariant* value,
                                                                           gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_display_searchbar ((LibraryWindow*) self, action, value);
#line 2421 "LibraryWindow.c"
}


static void
_library_window_on_display_sidebar_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                         GVariant* value,
                                                                         gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_display_sidebar ((LibraryWindow*) self, action, value);
#line 2432 "LibraryWindow.c"
}


static void
_library_window_on_display_toolbar_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                         GVariant* value,
                                                                         gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_display_toolbar ((LibraryWindow*) self, action, value);
#line 2443 "LibraryWindow.c"
}


static void
_library_window_on_action_radio_gsimple_action_activate_callback (GSimpleAction* action,
                                                                  GVariant* parameter,
                                                                  gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_action_radio ((LibraryWindow*) self, action, parameter);
#line 2454 "LibraryWindow.c"
}


static void
_library_window_on_events_sort_changed_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                             GVariant* value,
                                                                             gpointer self)
{
#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_events_sort_changed ((LibraryWindow*) self, action, value);
#line 2465 "LibraryWindow.c"
}


static void
_library_window_external_drop_handler_sidebar_tree_external_drop_handler (GdkDragContext* context,
                                                                          SidebarEntry* entry,
                                                                          GtkSelectionData* data,
                                                                          guint info,
                                                                          guint time,
                                                                          gpointer self)
{
#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_external_drop_handler ((LibraryWindow*) self, context, entry, data, info, time);
#line 2479 "LibraryWindow.c"
}


static void
_library_window_on_update_properties_now_one_shot_callback (gpointer self)
{
#line 176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_update_properties_now ((LibraryWindow*) self);
#line 2488 "LibraryWindow.c"
}


LibraryWindow*
library_window_construct (GType object_type,
                          ProgressMonitor progress_monitor,
                          void* progress_monitor_target)
{
	LibraryWindow * self = NULL;
	SidebarTree* _tmp0_;
	SidebarTree* _tmp1_;
	SidebarTree* _tmp2_;
	SidebarTree* _tmp3_;
	SidebarTree* _tmp4_;
	SidebarTree* _tmp5_;
	LibraryBranch* _tmp6_;
	SidebarTree* _tmp7_;
	TagsBranch* _tmp8_;
	SidebarTree* _tmp9_;
	FoldersBranch* _tmp10_;
	SidebarTree* _tmp11_;
	EventsBranch* _tmp12_;
	SidebarTree* _tmp13_;
	CameraBranch* _tmp14_;
	SidebarTree* _tmp15_;
	SearchesBranch* _tmp16_;
	ExtendedPropertiesWindow* _tmp17_;
	ExtendedPropertiesWindow* _tmp18_;
	ExtendedPropertiesWindow* _tmp19_;
	OneShotScheduler* _tmp20_;
	SearchFilterActions* _tmp21_;
	SearchFilterToolbar* _tmp22_;
	LibraryBranch* _tmp23_;
	LibraryPhotosEntry* _tmp24_;
	LibraryPhotosEntry* _tmp25_;
	Page* _tmp26_;
	Page* _tmp27_;
	GtkTargetEntry* main_window_dnd_targets = NULL;
	GtkTargetEntry _tmp39_;
	GtkTargetEntry _tmp40_;
	GtkTargetEntry* _tmp41_;
	gint main_window_dnd_targets_length1;
	gint _main_window_dnd_targets_size_;
	GtkTargetEntry* _tmp42_;
	gint _tmp42__length1;
	MetadataWriter* _tmp43_;
	MetadataWriter* _tmp44_;
	LibraryMonitor* monitor = NULL;
	LibraryMonitorPool* _tmp45_;
	LibraryMonitorPool* _tmp46_;
	LibraryMonitor* _tmp47_;
	LibraryMonitor* _tmp48_;
	LibraryMonitor* _tmp49_;
	LibraryMonitorPool* _tmp51_;
	LibraryMonitorPool* _tmp52_;
	LibraryMonitorPool* _tmp53_;
	LibraryMonitorPool* _tmp54_;
	CameraTable* _tmp55_;
	CameraTable* _tmp56_;
	GtkProgressBar* _tmp57_;
#line 219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	static const gchar* accels[3] = {"<Primary>f", "F8", NULL};
#line 154 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = (LibraryWindow*) app_window_construct (object_type);
#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = sidebar_tree_new (LIBRARY_WINDOW_DND_TARGET_ENTRIES, G_N_ELEMENTS (LIBRARY_WINDOW_DND_TARGET_ENTRIES), GDK_ACTION_ASK, _library_window_external_drop_handler_sidebar_tree_external_drop_handler, self);
#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp0_);
#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->sidebar_tree);
#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->sidebar_tree = _tmp0_;
#line 159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->sidebar_tree;
#line 159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp1_, "page-created", (GCallback) _library_window_on_page_created_sidebar_tree_page_created, self, 0);
#line 160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->sidebar_tree;
#line 160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp2_, "destroying-page", (GCallback) _library_window_on_destroying_page_sidebar_tree_destroying_page, self, 0);
#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = self->priv->sidebar_tree;
#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp3_, "entry-selected", (GCallback) _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected, self, 0);
#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = self->priv->sidebar_tree;
#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp4_, "selected-entry-removed", (GCallback) _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed, self, 0);
#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = self->priv->sidebar_tree;
#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = self->priv->library_branch;
#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sidebar_tree_graft (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY);
#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = self->priv->sidebar_tree;
#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = self->priv->tags_branch;
#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sidebar_tree_graft (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS);
#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = self->priv->sidebar_tree;
#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = self->priv->folders_branch;
#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sidebar_tree_graft (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS);
#line 167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = self->priv->sidebar_tree;
#line 167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = self->priv->events_branch;
#line 167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sidebar_tree_graft (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS);
#line 168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp13_ = self->priv->sidebar_tree;
#line 168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = self->priv->camera_branch;
#line 168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sidebar_tree_graft (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS);
#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp15_ = self->priv->sidebar_tree;
#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp16_ = self->priv->saved_search_branch;
#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sidebar_tree_graft (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH);
#line 172 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp17_ = extended_properties_window_new (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow));
#line 172 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp17_);
#line 172 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->extended_properties);
#line 172 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->extended_properties = _tmp17_;
#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp18_ = self->priv->extended_properties;
#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), "hide", (GCallback) _library_window_hide_extended_properties_gtk_widget_hide, self, 0);
#line 174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp19_ = self->priv->extended_properties;
#line 174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), "show", (GCallback) _library_window_show_extended_properties_gtk_widget_show, self, 0);
#line 176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp20_ = one_shot_scheduler_new ("LibraryWindow properties", _library_window_on_update_properties_now_one_shot_callback, self);
#line 176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_one_shot_scheduler_unref0 (self->priv->properties_scheduler);
#line 176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->properties_scheduler = _tmp20_;
#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp21_ = self->priv->search_actions;
#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp22_ = search_filter_toolbar_new (_tmp21_);
#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp22_);
#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->search_toolbar);
#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->search_toolbar = _tmp22_;
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp23_ = self->priv->library_branch;
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp24_ = library_branch_get_photos_entry (_tmp23_);
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp25_ = _tmp24_;
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp26_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp27_ = _tmp26_;
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_create_layout (self, _tmp27_);
#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp27_);
#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_load_configuration (self);
#line 2661 "LibraryWindow.c"
	{
		GeeIterator* _media_sources_it = NULL;
		MediaCollectionRegistry* _tmp28_;
		MediaCollectionRegistry* _tmp29_;
		GeeCollection* _tmp30_;
		GeeCollection* _tmp31_;
		GeeIterator* _tmp32_;
		GeeIterator* _tmp33_;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp28_ = media_collection_registry_get_instance ();
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp29_ = _tmp28_;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp30_ = media_collection_registry_get_all (_tmp29_);
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp31_ = _tmp30_;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp32_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ITERABLE, GeeIterable));
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp33_ = _tmp32_;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp31_);
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_media_collection_registry_unref0 (_tmp29_);
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_media_sources_it = _tmp33_;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		while (TRUE) {
#line 2690 "LibraryWindow.c"
			GeeIterator* _tmp34_;
			MediaSourceCollection* media_sources = NULL;
			GeeIterator* _tmp35_;
			gpointer _tmp36_;
			MediaSourceCollection* _tmp37_;
			MediaSourceCollection* _tmp38_;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp34_ = _media_sources_it;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (!gee_iterator_next (_tmp34_)) {
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				break;
#line 2703 "LibraryWindow.c"
			}
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp35_ = _media_sources_it;
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp36_ = gee_iterator_get (_tmp35_);
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			media_sources = (MediaSourceCollection*) _tmp36_;
#line 189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp37_ = media_sources;
#line 189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			g_signal_connect_object (_tmp37_, "trashcan-contents-altered", (GCallback) _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0);
#line 190 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp38_ = media_sources;
#line 190 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_window_on_media_altered_data_collection_items_altered, self, 0);
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (media_sources);
#line 2721 "LibraryWindow.c"
		}
#line 188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_media_sources_it);
#line 2725 "LibraryWindow.c"
	}
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp39_ = LIBRARY_WINDOW_DND_TARGET_ENTRIES[LIBRARY_WINDOW_TARGET_TYPE_URI_LIST];
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp40_ = LIBRARY_WINDOW_DND_TARGET_ENTRIES[LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST];
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp41_ = g_new0 (GtkTargetEntry, 2);
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp41_[0] = _tmp39_;
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp41_[1] = _tmp40_;
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	main_window_dnd_targets = _tmp41_;
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	main_window_dnd_targets_length1 = 2;
#line 195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_main_window_dnd_targets_size_ = main_window_dnd_targets_length1;
#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp42_ = main_window_dnd_targets;
#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp42__length1 = main_window_dnd_targets_length1;
#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_drag_dest_set (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), GTK_DEST_DEFAULT_ALL, _tmp42_, _tmp42__length1, (GDK_ACTION_COPY | GDK_ACTION_LINK) | GDK_ACTION_ASK);
#line 204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp43_ = metadata_writer_get_instance ();
#line 204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp44_ = _tmp43_;
#line 204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp44_, "progress", (GCallback) _library_window_on_metadata_writer_progress_metadata_writer_progress, self, 0);
#line 204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp44_);
#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp45_ = library_monitor_pool_get_instance ();
#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp46_ = _tmp45_;
#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp47_ = library_monitor_pool_get_monitor (_tmp46_);
#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp48_ = _tmp47_;
#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_library_monitor_pool_unref0 (_tmp46_);
#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	monitor = _tmp48_;
#line 207 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp49_ = monitor;
#line 207 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp49_ != NULL) {
#line 2773 "LibraryWindow.c"
		LibraryMonitor* _tmp50_;
#line 208 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp50_ = monitor;
#line 208 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_on_library_monitor_installed (self, _tmp50_);
#line 2779 "LibraryWindow.c"
	}
#line 210 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp51_ = library_monitor_pool_get_instance ();
#line 210 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp52_ = _tmp51_;
#line 210 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp52_, "monitor-installed", (GCallback) _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed, self, 0);
#line 210 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_library_monitor_pool_unref0 (_tmp52_);
#line 211 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp53_ = library_monitor_pool_get_instance ();
#line 211 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp54_ = _tmp53_;
#line 211 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp54_, "monitor-destroyed", (GCallback) _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed, self, 0);
#line 211 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_library_monitor_pool_unref0 (_tmp54_);
#line 213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp55_ = camera_table_get_instance ();
#line 213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp56_ = _tmp55_;
#line 213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (_tmp56_, "camera-added", (GCallback) _library_window_on_camera_added_camera_table_camera_added, self, 0);
#line 213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_camera_table_unref0 (_tmp56_);
#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp57_ = self->priv->background_progress_bar;
#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_set_show_text (_tmp57_, TRUE);
#line 220 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	application_set_accels_for_action ("win.CommonDisplaySearchbar", accels, G_N_ELEMENTS (accels));
#line 154 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (monitor);
#line 154 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	main_window_dnd_targets = (g_free (main_window_dnd_targets), NULL);
#line 154 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return self;
#line 2817 "LibraryWindow.c"
}


LibraryWindow*
library_window_new (ProgressMonitor progress_monitor,
                    void* progress_monitor_target)
{
#line 154 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return library_window_construct (TYPE_LIBRARY_WINDOW, progress_monitor, progress_monitor_target);
#line 2827 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started (DirectoryMonitor* _sender,
                                                                                          gpointer self)
{
#line 254 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_discovery_started ((LibraryWindow*) self);
#line 2837 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender,
                                                                                              gpointer self)
{
#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_discovery_completed ((LibraryWindow*) self);
#line 2847 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_discovery_completed_directory_monitor_closed (DirectoryMonitor* _sender,
                                                                                 gpointer self)
{
#line 256 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_discovery_completed ((LibraryWindow*) self);
#line 2857 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress (LibraryMonitor* _sender,
                                                                                              gint completed_files,
                                                                                              gint total_files,
                                                                                              gpointer self)
{
#line 257 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_auto_update_progress ((LibraryWindow*) self, completed_files, total_files);
#line 2869 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing (LibraryMonitor* _sender,
                                                                                                gpointer self)
{
#line 258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_auto_import_preparing ((LibraryWindow*) self);
#line 2879 "LibraryWindow.c"
}


static void
_library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress (LibraryMonitor* _sender,
                                                                                              guint64 completed_bytes,
                                                                                              guint64 total_bytes,
                                                                                              gpointer self)
{
#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_library_monitor_auto_import_progress ((LibraryWindow*) self, completed_bytes, total_bytes);
#line 2891 "LibraryWindow.c"
}


static void
library_window_on_library_monitor_installed (LibraryWindow* self,
                                             LibraryMonitor* monitor)
{
	GFile* _tmp0_;
	GFile* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 251 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 251 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_MONITOR (monitor));
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = g_file_get_path (_tmp1_);
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_debug ("LibraryWindow.vala:252: on_library_monitor_installed: %s", _tmp3_);
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (_tmp3_);
#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 254 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-started", (GCallback) _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started, self, 0);
#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-completed", (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed, self, 0);
#line 256 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "closed", (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_closed, self, 0);
#line 257 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (monitor, "auto-update-progress", (GCallback) _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress, self, 0);
#line 258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (monitor, "auto-import-preparing", (GCallback) _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing, self, 0);
#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (monitor, "auto-import-progress", (GCallback) _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress, self, 0);
#line 2933 "LibraryWindow.c"
}


static void
library_window_on_library_monitor_destroyed (LibraryWindow* self,
                                             LibraryMonitor* monitor)
{
	GFile* _tmp0_;
	GFile* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	guint _tmp4_;
	guint _tmp5_;
	guint _tmp6_;
	guint _tmp7_;
	guint _tmp8_;
	guint _tmp9_;
#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_MONITOR (monitor));
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = g_file_get_path (_tmp1_);
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_debug ("LibraryWindow.vala:263: on_library_monitor_destroyed: %s", _tmp3_);
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (_tmp3_);
#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("discovery-started", TYPE_DIRECTORY_MONITOR, &_tmp4_, NULL, FALSE);
#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started, self);
#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("discovery-completed", TYPE_DIRECTORY_MONITOR, &_tmp5_, NULL, FALSE);
#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed, self);
#line 267 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("closed", TYPE_DIRECTORY_MONITOR, &_tmp6_, NULL, FALSE);
#line 267 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (monitor, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_closed, self);
#line 268 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("auto-update-progress", TYPE_LIBRARY_MONITOR, &_tmp7_, NULL, FALSE);
#line 268 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (monitor, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress, self);
#line 269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("auto-import-preparing", TYPE_LIBRARY_MONITOR, &_tmp8_, NULL, FALSE);
#line 269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (monitor, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing, self);
#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("auto-import-progress", TYPE_LIBRARY_MONITOR, &_tmp9_, NULL, FALSE);
#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (monitor, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress, self);
#line 2993 "LibraryWindow.c"
}


static GVariant*
_variant_new1 (gboolean value)
{
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 3002 "LibraryWindow.c"
}


static GVariant*
_variant_new2 (gboolean value)
{
#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 3011 "LibraryWindow.c"
}


static GVariant*
_variant_new3 (gboolean value)
{
#line 301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 3020 "LibraryWindow.c"
}


static void
library_window_real_add_actions (AppWindow* base)
{
	LibraryWindow * self;
	SearchFilterActions* _tmp0_;
	gint _tmp1_;
	GActionEntry* _tmp2_;
	SearchFilterActions* _tmp3_;
	GAction* _tmp4_;
	ConfigFacade* _tmp5_;
	ConfigFacade* _tmp6_;
	GVariant* _tmp7_;
	GAction* _tmp8_;
	GVariant* _tmp9_;
	GAction* _tmp10_;
	GVariant* _tmp11_;
#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 295 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	APP_WINDOW_CLASS (library_window_parent_class)->add_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow));
#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_map_add_action_entries (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), LIBRARY_WINDOW_common_actions, G_N_ELEMENTS (LIBRARY_WINDOW_common_actions), self);
#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->search_actions;
#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = search_filter_actions_get_actions (_tmp0_, &_tmp1_);
#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = self->priv->search_actions;
#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_map_add_action_entries (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), _tmp2_, _tmp1_, _tmp3_);
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplaySearchbar");
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = config_facade_get_instance ();
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = _tmp5_;
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = _variant_new1 (configuration_facade_get_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)));
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp4_, _tmp7_);
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp7_);
#line 299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp6_);
#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplaySidebar");
#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = _variant_new2 (library_window_is_sidebar_visible (self));
#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp8_, _tmp9_);
#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp9_);
#line 301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplayToolbar");
#line 301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = _variant_new3 (library_window_is_toolbar_visible (self));
#line 301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp10_, _tmp11_);
#line 301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp11_);
#line 3084 "LibraryWindow.c"
}


static void
_library_window_on_view_filter_installed_view_collection_view_filter_installed (ViewCollection* _sender,
                                                                                ViewFilter* filer,
                                                                                gpointer self)
{
#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_view_filter_installed ((LibraryWindow*) self, filer);
#line 3095 "LibraryWindow.c"
}


static void
_library_window_on_view_filter_removed_view_collection_view_filter_removed (ViewCollection* _sender,
                                                                            ViewFilter* filer,
                                                                            gpointer self)
{
#line 310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_view_filter_removed ((LibraryWindow*) self, filer);
#line 3106 "LibraryWindow.c"
}


static void
library_window_real_switched_pages (PageWindow* base,
                                    Page* old_page,
                                    Page* new_page)
{
	LibraryWindow * self;
	SearchFilterActions* _tmp10_;
#line 304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page));
#line 304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page));
#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	PAGE_WINDOW_CLASS (library_window_parent_class)->switched_pages (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), TYPE_PAGE_WINDOW, PageWindow), old_page, new_page);
#line 308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (old_page != NULL) {
#line 3127 "LibraryWindow.c"
		ViewCollection* _tmp0_;
		ViewCollection* _tmp1_;
		guint _tmp2_;
		ViewCollection* _tmp3_;
		ViewCollection* _tmp4_;
		guint _tmp5_;
#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = page_get_view (old_page);
#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = _tmp0_;
#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_parse_name ("view-filter-installed", TYPE_VIEW_COLLECTION, &_tmp2_, NULL, FALSE);
#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_window_on_view_filter_installed_view_collection_view_filter_installed, self);
#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_tmp1_);
#line 310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = page_get_view (old_page);
#line 310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = _tmp3_;
#line 310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_parse_name ("view-filter-removed", TYPE_VIEW_COLLECTION, &_tmp5_, NULL, FALSE);
#line 310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_view_filter_removed_view_collection_view_filter_removed, self);
#line 310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_tmp4_);
#line 3154 "LibraryWindow.c"
	}
#line 313 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (new_page != NULL) {
#line 3158 "LibraryWindow.c"
		ViewCollection* _tmp6_;
		ViewCollection* _tmp7_;
		ViewCollection* _tmp8_;
		ViewCollection* _tmp9_;
#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = page_get_view (new_page);
#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = _tmp6_;
#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_connect_object (_tmp7_, "view-filter-installed", (GCallback) _library_window_on_view_filter_installed_view_collection_view_filter_installed, self, 0);
#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_tmp7_);
#line 315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = page_get_view (new_page);
#line 315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = _tmp8_;
#line 315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_connect_object (_tmp9_, "view-filter-removed", (GCallback) _library_window_on_view_filter_removed_view_collection_view_filter_removed, self, 0);
#line 315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_tmp9_);
#line 3179 "LibraryWindow.c"
	}
#line 318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = self->priv->search_actions;
#line 318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	search_filter_actions_monitor_page_contents (_tmp10_, old_page, new_page);
#line 3185 "LibraryWindow.c"
}


static void
_library_window_on_view_filter_refreshed_view_filter_refresh (ViewFilter* _sender,
                                                              gpointer self)
{
#line 322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_view_filter_refreshed ((LibraryWindow*) self);
#line 3195 "LibraryWindow.c"
}


static void
library_window_on_view_filter_installed (LibraryWindow* self,
                                         ViewFilter* filter)
{
#line 321 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 321 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_VIEW_FILTER (filter));
#line 322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (filter, "refresh", (GCallback) _library_window_on_view_filter_refreshed_view_filter_refresh, self, 0);
#line 3209 "LibraryWindow.c"
}


static void
library_window_on_view_filter_removed (LibraryWindow* self,
                                       ViewFilter* filter)
{
	guint _tmp0_;
#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_VIEW_FILTER (filter));
#line 326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("refresh", TYPE_VIEW_FILTER, &_tmp0_, NULL, FALSE);
#line 326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (filter, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _library_window_on_view_filter_refreshed_view_filter_refresh, self);
#line 3226 "LibraryWindow.c"
}


static gpointer
_g_object_ref0 (gpointer self)
{
#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return self ? g_object_ref (self) : NULL;
#line 3235 "LibraryWindow.c"
}


static GVariant*
_variant_new4 (gboolean value)
{
#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 3244 "LibraryWindow.c"
}


static void
library_window_on_view_filter_refreshed (LibraryWindow* self)
{
	Page* _tmp0_;
	Page* _tmp1_;
	ViewCollection* _tmp2_;
	ViewCollection* _tmp3_;
	gboolean _tmp4_;
	GAction* action = NULL;
	GAction* _tmp5_;
	GAction* _tmp6_;
	GAction* _tmp7_;
#line 329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = page_get_view (_tmp1_);
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = !view_collection_are_items_filtered_out (_tmp3_);
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (_tmp3_);
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp4_) {
#line 333 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 3280 "LibraryWindow.c"
	}
#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplaySearchbar");
#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	action = _tmp6_;
#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = action;
#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp7_ != NULL) {
#line 3292 "LibraryWindow.c"
		GAction* _tmp8_;
		GVariant* _tmp9_;
#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = action;
#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = _variant_new4 (TRUE);
#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_action_change_state (_tmp8_, _tmp9_);
#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_variant_unref0 (_tmp9_);
#line 3303 "LibraryWindow.c"
	}
#line 329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (action);
#line 3307 "LibraryWindow.c"
}


static void
library_window_real_show_all (GtkWidget* base)
{
	LibraryWindow * self;
	GAction* basic_properties_action = NULL;
	Page* _tmp0_;
	Page* _tmp1_;
	GAction* _tmp2_;
	GAction* _tmp3_;
	GAction* _tmp4_;
	GAction* _tmp5_;
	GVariant* _tmp6_;
	GVariant* _tmp7_;
	gboolean _tmp8_;
	CheckerboardPage* current_page = NULL;
	Page* _tmp10_;
	CheckerboardPage* _tmp11_;
	CheckerboardPage* _tmp12_;
	CheckerboardPage* _tmp14_;
#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	GTK_WIDGET_CLASS (library_window_parent_class)->show_all (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget));
#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = page_get_common_action (_tmp1_, "CommonDisplayBasicProperties", TRUE);
#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	basic_properties_action = _tmp3_;
#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = basic_properties_action;
#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (_tmp4_ != NULL, "basic_properties_action != null");
#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = basic_properties_action;
#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = g_action_get_state (_tmp5_);
#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = _tmp6_;
#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = !g_variant_get_boolean (_tmp7_);
#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp7_);
#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp8_) {
#line 3362 "LibraryWindow.c"
		GtkFrame* _tmp9_;
#line 351 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = self->priv->bottom_frame;
#line 351 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
#line 3368 "LibraryWindow.c"
	}
#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp10_) : NULL;
#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp11_ == NULL) {
#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp10_);
#line 3378 "LibraryWindow.c"
	}
#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	current_page = _tmp11_;
#line 355 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = current_page;
#line 355 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp12_ != NULL) {
#line 3386 "LibraryWindow.c"
		CheckerboardPage* _tmp13_;
#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = current_page;
#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_init_view_filter (self, _tmp13_);
#line 3392 "LibraryWindow.c"
	}
#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = current_page;
#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_toggle_search_bar (self, library_window_should_show_search_bar (self), _tmp14_);
#line 361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_set_sidebar_visible (self, library_window_is_sidebar_visible (self));
#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (current_page);
#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (basic_properties_action);
#line 3404 "LibraryWindow.c"
}


LibraryWindow*
library_window_get_app (void)
{
	LibraryWindow* result = NULL;
	AppWindow* _tmp0_;
	AppWindow* _tmp1_;
	LibraryWindow* _tmp2_;
#line 365 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = app_window_instance;
#line 365 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_WINDOW), "instance is LibraryWindow");
#line 367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = app_window_instance;
#line 367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_WINDOW, LibraryWindow));
#line 367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp2_;
#line 367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 3427 "LibraryWindow.c"
}


gboolean
library_window_is_mount_uri_supported (const gchar* uri)
{
	gboolean result = FALSE;
#line 371 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (uri != NULL, FALSE);
#line 3437 "LibraryWindow.c"
	{
		const gchar** scheme_collection = NULL;
		gint scheme_collection_length1 = 0;
		gint _scheme_collection_size_ = 0;
		gint scheme_it = 0;
#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		scheme_collection = LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES;
#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		scheme_collection_length1 = G_N_ELEMENTS (LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES);
#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		for (scheme_it = 0; scheme_it < G_N_ELEMENTS (LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES); scheme_it = scheme_it + 1) {
#line 3449 "LibraryWindow.c"
			gchar* _tmp0_;
			gchar* scheme = NULL;
#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp0_ = g_strdup (scheme_collection[scheme_it]);
#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			scheme = _tmp0_;
#line 3456 "LibraryWindow.c"
			{
				const gchar* _tmp1_;
#line 373 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp1_ = scheme;
#line 373 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				if (g_str_has_prefix (uri, _tmp1_)) {
#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					result = TRUE;
#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_g_free0 (scheme);
#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					return result;
#line 3469 "LibraryWindow.c"
				}
#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_free0 (scheme);
#line 3473 "LibraryWindow.c"
			}
		}
	}
#line 377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = FALSE;
#line 377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 3481 "LibraryWindow.c"
}


static gchar*
library_window_real_get_app_role (AppWindow* base)
{
	LibraryWindow * self;
	gchar* result = NULL;
	gchar* _tmp0_;
#line 380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_strdup (RESOURCES_APP_LIBRARY_ROLE);
#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp0_;
#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 3499 "LibraryWindow.c"
}


void
library_window_rename_tag_in_sidebar (LibraryWindow* self,
                                      Tag* tag)
{
	TagsSidebarEntry* entry = NULL;
	TagsBranch* _tmp0_;
	TagsSidebarEntry* _tmp1_;
	TagsSidebarEntry* _tmp2_;
#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_TAG (tag));
#line 385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->tags_branch;
#line 385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = tags_branch_get_entry_for_tag (_tmp0_, tag);
#line 385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ != NULL) {
#line 3525 "LibraryWindow.c"
		SidebarTree* _tmp3_;
		TagsSidebarEntry* _tmp4_;
#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = self->priv->sidebar_tree;
#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = entry;
#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		sidebar_tree_rename_entry_in_place (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3534 "LibraryWindow.c"
	} else {
#line 389 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:389: No tag entry found for rename");
#line 3538 "LibraryWindow.c"
	}
#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 3542 "LibraryWindow.c"
}


void
library_window_rename_event_in_sidebar (LibraryWindow* self,
                                        Event* event)
{
	EventsEventEntry* entry = NULL;
	EventsBranch* _tmp0_;
	EventsEventEntry* _tmp1_;
	EventsEventEntry* _tmp2_;
#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_EVENT (event));
#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->events_branch;
#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = events_branch_get_entry_for_event (_tmp0_, event);
#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ != NULL) {
#line 3568 "LibraryWindow.c"
		SidebarTree* _tmp3_;
		EventsEventEntry* _tmp4_;
#line 395 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = self->priv->sidebar_tree;
#line 395 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = entry;
#line 395 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		sidebar_tree_rename_entry_in_place (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3577 "LibraryWindow.c"
	} else {
#line 397 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:397: No event entry found for rename");
#line 3581 "LibraryWindow.c"
	}
#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 3585 "LibraryWindow.c"
}


void
library_window_rename_search_in_sidebar (LibraryWindow* self,
                                         SavedSearch* search)
{
	SearchesSidebarEntry* entry = NULL;
	SearchesBranch* _tmp0_;
	SearchesSidebarEntry* _tmp1_;
	SearchesSidebarEntry* _tmp2_;
#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_SAVED_SEARCH (search));
#line 401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->saved_search_branch;
#line 401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = searches_branch_get_entry_for_saved_search (_tmp0_, search);
#line 401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ != NULL) {
#line 3611 "LibraryWindow.c"
		SidebarTree* _tmp3_;
		SearchesSidebarEntry* _tmp4_;
#line 403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = self->priv->sidebar_tree;
#line 403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = entry;
#line 403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		sidebar_tree_rename_entry_in_place (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 3620 "LibraryWindow.c"
	} else {
#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:405: No search entry found for rename");
#line 3624 "LibraryWindow.c"
	}
#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 3628 "LibraryWindow.c"
}


static void
library_window_real_on_quit (AppWindow* base)
{
	LibraryWindow * self;
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	gboolean _tmp2_;
	Dimensions _tmp3_;
	ConfigFacade* _tmp4_;
	ConfigFacade* _tmp5_;
	GtkPaned* _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 409 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = config_facade_get_instance ();
#line 409 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 409 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->maximized;
#line 409 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->dimensions;
#line 409 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_library_window_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, &_tmp3_);
#line 409 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = config_facade_get_instance ();
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = _tmp4_;
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = self->priv->client_paned;
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = gtk_paned_get_position (_tmp6_);
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = _tmp7_;
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp8_);
#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp5_);
#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	APP_WINDOW_CLASS (library_window_parent_class)->on_quit (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow));
#line 3675 "LibraryWindow.c"
}


static Photo*
library_window_get_start_fullscreen_photo (LibraryWindow* self,
                                           CollectionPage* page)
{
	Photo* result = NULL;
	ViewCollection* view = NULL;
	ViewCollection* _tmp0_;
	GeeList* _tmp1_ = NULL;
	ViewCollection* _tmp2_;
	GeeList* sources = NULL;
	GeeList* _tmp7_;
	Photo* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	GeeList* _tmp10_;
#line 416 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL);
#line 416 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (page), NULL);
#line 417 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_PAGE, Page));
#line 417 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = _tmp0_;
#line 421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = view;
#line 421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (view_collection_get_selected_count (_tmp2_) > 0) {
#line 3705 "LibraryWindow.c"
		ViewCollection* _tmp3_;
		GeeList* _tmp4_;
#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = view;
#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = view_collection_get_selected_sources_of_type (_tmp3_, TYPE_LIBRARY_PHOTO);
#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp1_);
#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = _tmp4_;
#line 3716 "LibraryWindow.c"
	} else {
		ViewCollection* _tmp5_;
		GeeList* _tmp6_;
#line 423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = view;
#line 423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = view_collection_get_sources_of_type (_tmp5_, TYPE_LIBRARY_PHOTO);
#line 423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp1_);
#line 423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = _tmp6_;
#line 3728 "LibraryWindow.c"
	}
#line 421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = _g_object_ref0 (_tmp1_);
#line 421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sources = _tmp7_;
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = sources;
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp10_ != NULL) {
#line 3738 "LibraryWindow.c"
		GeeList* _tmp11_;
		gint _tmp12_;
		gint _tmp13_;
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = sources;
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection));
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = _tmp12_;
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = _tmp13_ != 0;
#line 3750 "LibraryWindow.c"
	} else {
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = FALSE;
#line 3754 "LibraryWindow.c"
	}
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp9_) {
#line 3758 "LibraryWindow.c"
		GeeList* _tmp14_;
		gpointer _tmp15_;
#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = sources;
#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = gee_list_get (_tmp14_, 0);
#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp8_);
#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = G_TYPE_CHECK_INSTANCE_CAST ((DataSource*) _tmp15_, TYPE_PHOTO, Photo);
#line 3769 "LibraryWindow.c"
	} else {
#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp8_);
#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = NULL;
#line 3775 "LibraryWindow.c"
	}
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp8_;
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (sources);
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 3787 "LibraryWindow.c"
}


static gboolean
library_window_get_fullscreen_photo (LibraryWindow* self,
                                     Page* page,
                                     CollectionPage* * collection,
                                     Photo* * start,
                                     ViewCollection* * view_collection)
{
	CollectionPage* _vala_collection = NULL;
	Photo* _vala_start = NULL;
	ViewCollection* _vala_view_collection = NULL;
	gboolean result = FALSE;
#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_PAGE (page), FALSE);
#line 431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_vala_collection);
#line 431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_collection = NULL;
#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_vala_start);
#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_start = NULL;
#line 433 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (_vala_view_collection);
#line 433 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_view_collection = NULL;
#line 436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (page, TYPE_COLLECTION_PAGE)) {
#line 3820 "LibraryWindow.c"
		CollectionPage* _tmp0_;
		Photo* photo = NULL;
		CollectionPage* _tmp1_;
		Photo* _tmp2_;
		Photo* _tmp3_;
		Photo* _tmp4_;
		Photo* _tmp5_;
#line 437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_COLLECTION_PAGE, CollectionPage));
#line 437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_collection);
#line 437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_collection = _tmp0_;
#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = _vala_collection;
#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = library_window_get_start_fullscreen_photo (self, _tmp1_);
#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		photo = _tmp2_;
#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = photo;
#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp3_ == NULL) {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (photo);
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 3852 "LibraryWindow.c"
			} else {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 3856 "LibraryWindow.c"
			}
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 3862 "LibraryWindow.c"
			} else {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 3866 "LibraryWindow.c"
			}
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 3872 "LibraryWindow.c"
			} else {
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 3876 "LibraryWindow.c"
			}
#line 440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 3880 "LibraryWindow.c"
		}
#line 442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = photo;
#line 442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _g_object_ref0 (_tmp4_);
#line 442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_start);
#line 442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_start = _tmp5_;
#line 443 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_vala_view_collection);
#line 443 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_view_collection = NULL;
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (photo);
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (collection) {
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*collection = _vala_collection;
#line 3902 "LibraryWindow.c"
		} else {
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (_vala_collection);
#line 3906 "LibraryWindow.c"
		}
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (start) {
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*start = _vala_start;
#line 3912 "LibraryWindow.c"
		} else {
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (_vala_start);
#line 3916 "LibraryWindow.c"
		}
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (view_collection) {
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*view_collection = _vala_view_collection;
#line 3922 "LibraryWindow.c"
		} else {
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (_vala_view_collection);
#line 3926 "LibraryWindow.c"
		}
#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 3930 "LibraryWindow.c"
	}
#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (page, TYPE_EVENTS_DIRECTORY_PAGE)) {
#line 3934 "LibraryWindow.c"
		ViewCollection* view = NULL;
		ViewCollection* _tmp6_;
		ViewCollection* _tmp7_;
		Event* event = NULL;
		ViewCollection* _tmp8_;
		DataObject* _tmp9_;
		DataView* _tmp10_;
		DataSource* _tmp11_;
		Event* _tmp12_;
		Event* _tmp13_;
		EventsEventEntry* entry = NULL;
		EventsBranch* _tmp14_;
		Event* _tmp15_;
		EventsEventEntry* _tmp16_;
		EventsEventEntry* _tmp17_;
		EventsEventEntry* _tmp18_;
		Page* _tmp19_;
		Photo* photo = NULL;
		CollectionPage* _tmp20_;
		Photo* _tmp21_;
		Photo* _tmp22_;
		Photo* _tmp23_;
		Photo* _tmp24_;
#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = page_get_view (page);
#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		view = _tmp6_;
#line 450 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = view;
#line 450 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)) == 0) {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (view);
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 3974 "LibraryWindow.c"
			} else {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 3978 "LibraryWindow.c"
			}
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 3984 "LibraryWindow.c"
			} else {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 3988 "LibraryWindow.c"
			}
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 3994 "LibraryWindow.c"
			} else {
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 3998 "LibraryWindow.c"
			}
#line 451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 4002 "LibraryWindow.c"
		}
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = view;
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), 0);
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_VIEW, DataView);
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = data_view_get_source (_tmp10_);
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_EVENT, Event);
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp10_);
#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		event = _tmp12_;
#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = event;
#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp13_ == NULL) {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (event);
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (view);
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 4032 "LibraryWindow.c"
			} else {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 4036 "LibraryWindow.c"
			}
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 4042 "LibraryWindow.c"
			} else {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 4046 "LibraryWindow.c"
			}
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 4052 "LibraryWindow.c"
			} else {
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 4056 "LibraryWindow.c"
			}
#line 455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 4060 "LibraryWindow.c"
		}
#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = self->priv->events_branch;
#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = event;
#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp16_ = events_branch_get_entry_for_event (_tmp14_, _tmp15_);
#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		entry = _tmp16_;
#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp17_ = entry;
#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp17_ == NULL) {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (entry);
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (event);
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (view);
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 4086 "LibraryWindow.c"
			} else {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 4090 "LibraryWindow.c"
			}
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 4096 "LibraryWindow.c"
			} else {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 4100 "LibraryWindow.c"
			}
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 4106 "LibraryWindow.c"
			} else {
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 4110 "LibraryWindow.c"
			}
#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 4114 "LibraryWindow.c"
		}
#line 461 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp18_ = entry;
#line 461 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp19_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 461 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_collection);
#line 461 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_collection = G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_EVENT_PAGE, EventPage), TYPE_COLLECTION_PAGE, CollectionPage);
#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp20_ = _vala_collection;
#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp21_ = library_window_get_start_fullscreen_photo (self, _tmp20_);
#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		photo = _tmp21_;
#line 463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp22_ = photo;
#line 463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp22_ == NULL) {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (photo);
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (entry);
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (event);
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (view);
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 4148 "LibraryWindow.c"
			} else {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 4152 "LibraryWindow.c"
			}
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 4158 "LibraryWindow.c"
			} else {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 4162 "LibraryWindow.c"
			}
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 4168 "LibraryWindow.c"
			} else {
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 4172 "LibraryWindow.c"
			}
#line 464 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 4176 "LibraryWindow.c"
		}
#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp23_ = photo;
#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_start);
#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_start = _tmp24_;
#line 467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_vala_view_collection);
#line 467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_view_collection = NULL;
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (photo);
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (entry);
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (event);
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (view);
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (collection) {
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*collection = _vala_collection;
#line 4204 "LibraryWindow.c"
		} else {
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (_vala_collection);
#line 4208 "LibraryWindow.c"
		}
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (start) {
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*start = _vala_start;
#line 4214 "LibraryWindow.c"
		} else {
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (_vala_start);
#line 4218 "LibraryWindow.c"
		}
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (view_collection) {
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*view_collection = _vala_view_collection;
#line 4224 "LibraryWindow.c"
		} else {
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (_vala_view_collection);
#line 4228 "LibraryWindow.c"
		}
#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 4232 "LibraryWindow.c"
	}
#line 472 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (page, TYPE_LIBRARY_PHOTO_PAGE)) {
#line 4236 "LibraryWindow.c"
		LibraryPhotoPage* photo_page = NULL;
		LibraryPhotoPage* _tmp25_;
		CollectionPage* controller = NULL;
		LibraryPhotoPage* _tmp26_;
		CollectionPage* _tmp27_;
		CollectionPage* _tmp28_;
		LibraryPhotoPage* _tmp29_;
		CollectionPage* _tmp30_;
		CollectionPage* _tmp31_;
		LibraryPhotoPage* _tmp32_;
		Photo* _tmp33_;
		LibraryPhotoPage* _tmp34_;
		ViewCollection* _tmp35_;
#line 473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage));
#line 473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		photo_page = _tmp25_;
#line 475 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp26_ = photo_page;
#line 475 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp27_ = library_photo_page_get_controller_page (_tmp26_);
#line 475 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		controller = _tmp27_;
#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp28_ = controller;
#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp28_ == NULL) {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (controller);
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (photo_page);
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 4274 "LibraryWindow.c"
			} else {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 4278 "LibraryWindow.c"
			}
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 4284 "LibraryWindow.c"
			} else {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 4288 "LibraryWindow.c"
			}
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 4294 "LibraryWindow.c"
			} else {
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 4298 "LibraryWindow.c"
			}
#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 4302 "LibraryWindow.c"
		}
#line 479 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp29_ = photo_page;
#line 479 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (!editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_EDITING_HOST_PAGE, EditingHostPage))) {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = FALSE;
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (controller);
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (photo_page);
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (collection) {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*collection = _vala_collection;
#line 4318 "LibraryWindow.c"
			} else {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_collection);
#line 4322 "LibraryWindow.c"
			}
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (start) {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*start = _vala_start;
#line 4328 "LibraryWindow.c"
			} else {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_vala_start);
#line 4332 "LibraryWindow.c"
			}
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (view_collection) {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				*view_collection = _vala_view_collection;
#line 4338 "LibraryWindow.c"
			} else {
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (_vala_view_collection);
#line 4342 "LibraryWindow.c"
			}
#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 4346 "LibraryWindow.c"
		}
#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp30_ = controller;
#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp31_ = _g_object_ref0 (_tmp30_);
#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_collection);
#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_collection = _tmp31_;
#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp32_ = photo_page;
#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp33_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_start);
#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_start = _tmp33_;
#line 484 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp34_ = photo_page;
#line 484 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp35_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_PAGE, Page));
#line 484 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_vala_view_collection);
#line 484 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_view_collection = _tmp35_;
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (controller);
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (photo_page);
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (collection) {
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*collection = _vala_collection;
#line 4382 "LibraryWindow.c"
		} else {
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (_vala_collection);
#line 4386 "LibraryWindow.c"
		}
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (start) {
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*start = _vala_start;
#line 4392 "LibraryWindow.c"
		} else {
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (_vala_start);
#line 4396 "LibraryWindow.c"
		}
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (view_collection) {
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			*view_collection = _vala_view_collection;
#line 4402 "LibraryWindow.c"
		} else {
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (_vala_view_collection);
#line 4406 "LibraryWindow.c"
		}
#line 486 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 4410 "LibraryWindow.c"
	}
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = FALSE;
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (collection) {
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		*collection = _vala_collection;
#line 4418 "LibraryWindow.c"
	} else {
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_collection);
#line 4422 "LibraryWindow.c"
	}
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (start) {
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		*start = _vala_start;
#line 4428 "LibraryWindow.c"
	} else {
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_vala_start);
#line 4432 "LibraryWindow.c"
	}
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (view_collection) {
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		*view_collection = _vala_view_collection;
#line 4438 "LibraryWindow.c"
	} else {
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_vala_view_collection);
#line 4442 "LibraryWindow.c"
	}
#line 489 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 4446 "LibraryWindow.c"
}


static void
library_window_real_on_fullscreen (AppWindow* base)
{
	LibraryWindow * self;
	Page* current_page = NULL;
	Page* _tmp0_;
	Page* _tmp1_;
	CollectionPage* collection = NULL;
	Photo* start = NULL;
	ViewCollection* view = NULL;
	Page* _tmp2_;
	CollectionPage* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	gboolean _tmp6_;
	LibraryWindowFullscreenPhotoPage* fs_photo = NULL;
	CollectionPage* _tmp7_;
	Photo* _tmp8_;
	ViewCollection* _tmp9_;
	LibraryWindowFullscreenPhotoPage* _tmp10_;
	LibraryWindowFullscreenPhotoPage* _tmp11_;
#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 493 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 493 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	current_page = _tmp0_;
#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = current_page;
#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_ == NULL) {
#line 495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (current_page);
#line 495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 4485 "LibraryWindow.c"
	}
#line 499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = NULL;
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = current_page;
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = library_window_get_fullscreen_photo (self, _tmp2_, &_tmp3_, &_tmp4_, &_tmp5_);
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (collection);
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	collection = _tmp3_;
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (start);
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	start = _tmp4_;
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = _tmp5_;
#line 500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (!_tmp6_) {
#line 501 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (view);
#line 501 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (start);
#line 501 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (collection);
#line 501 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (current_page);
#line 501 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 4517 "LibraryWindow.c"
	}
#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = collection;
#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = start;
#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = view;
#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = library_window_fullscreen_photo_page_new (_tmp7_, _tmp8_, _tmp9_);
#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp10_);
#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	fs_photo = _tmp10_;
#line 505 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = fs_photo;
#line 505 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_go_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE, Page));
#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (fs_photo);
#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (start);
#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (collection);
#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (current_page);
#line 4545 "LibraryWindow.c"
}


static void
_g_free0_ (gpointer var)
{
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	var = (g_free (var), NULL);
#line 4554 "LibraryWindow.c"
}


static inline void
_g_slist_free__g_free0_ (GSList* self)
{
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_slist_free_full (self, (GDestroyNotify) _g_free0_);
#line 4563 "LibraryWindow.c"
}


static void
library_window_on_file_import (LibraryWindow* self)
{
	GtkFileChooserDialog* import_dialog = NULL;
	GtkFileChooserDialog* _tmp0_;
	GtkFileChooserDialog* _tmp1_;
	GtkFileChooserDialog* _tmp2_;
	GtkFileChooserDialog* _tmp3_;
	const gchar* _tmp4_;
	GtkCheckButton* recursive = NULL;
	GtkCheckButton* _tmp5_;
	GtkCheckButton* _tmp6_;
	gboolean _tmp7_;
	GtkFileChooserDialog* _tmp8_;
	GtkCheckButton* _tmp9_;
	gint response = 0;
	GtkFileChooserDialog* _tmp10_;
	gint _tmp11_;
	GtkFileChooserDialog* _tmp28_;
	gchar* _tmp29_;
	GtkCheckButton* _tmp30_;
	gboolean _tmp31_;
	gboolean _tmp32_;
	GtkFileChooserDialog* _tmp33_;
#line 508 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_ ("Import From Folder"), NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_OK, NULL);
#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp0_);
#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	import_dialog = _tmp0_;
#line 512 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = import_dialog;
#line 512 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_file_chooser_get_type (), GtkFileChooser), FALSE);
#line 513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = import_dialog;
#line 513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_file_chooser_set_select_multiple (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_file_chooser_get_type (), GtkFileChooser), TRUE);
#line 514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = import_dialog;
#line 514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = self->priv->import_dir;
#line 514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_file_chooser_get_type (), GtkFileChooser), _tmp4_);
#line 516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = (GtkCheckButton*) gtk_check_button_new_with_label (_ ("Recurse Into Subfolders"));
#line 516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp5_);
#line 516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	recursive = _tmp5_;
#line 517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = recursive;
#line 517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = self->priv->import_recursive;
#line 517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp7_);
#line 518 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = import_dialog;
#line 518 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = recursive;
#line 518 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_file_chooser_set_extra_widget (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_file_chooser_get_type (), GtkFileChooser), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = import_dialog;
#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	response = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_dialog_get_type (), GtkDialog));
#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = response;
#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp11_ == ((gint) GTK_RESPONSE_OK)) {
#line 4639 "LibraryWindow.c"
		GtkFileChooserDialog* _tmp12_;
		GtkResponseType _tmp13_ = 0;
		GtkFileChooserDialog* _tmp14_;
		gchar* _tmp15_;
		gchar* _tmp16_;
		GFile* _tmp17_;
		GFile* _tmp18_;
		gboolean _tmp19_;
		GtkResponseType copy_files_response = 0;
		GtkResponseType _tmp20_;
#line 523 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = import_dialog;
#line 523 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget));
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = import_dialog;
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = gtk_file_chooser_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_file_chooser_get_type (), GtkFileChooser));
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp16_ = _tmp15_;
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp17_ = g_file_new_for_uri (_tmp16_);
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp18_ = _tmp17_;
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp19_ = app_dirs_is_in_import_dir (_tmp18_);
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp18_);
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_free0 (_tmp16_);
#line 526 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp19_) {
#line 527 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp13_ = GTK_RESPONSE_REJECT;
#line 4674 "LibraryWindow.c"
		} else {
#line 527 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp13_ = copy_files_dialog ();
#line 4678 "LibraryWindow.c"
		}
#line 525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		copy_files_response = _tmp13_;
#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp20_ = copy_files_response;
#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp20_ != GTK_RESPONSE_CANCEL) {
#line 4686 "LibraryWindow.c"
			GtkFileChooserDialog* _tmp21_;
			GSList* _tmp22_;
			GSList* _tmp23_;
			GtkResponseType _tmp24_;
			GtkCheckButton* _tmp25_;
			gboolean _tmp26_;
			gboolean _tmp27_;
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp21_ = import_dialog;
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp22_ = gtk_file_chooser_get_uris (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_file_chooser_get_type (), GtkFileChooser));
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp23_ = _tmp22_;
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp24_ = copy_files_response;
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp25_ = recursive;
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp26_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_toggle_button_get_type (), GtkToggleButton));
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp27_ = _tmp26_;
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			library_window_dispatch_import_jobs (self, _tmp23_, "folders", _tmp24_ == GTK_RESPONSE_ACCEPT, _tmp27_);
#line 530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			__g_slist_free__g_free0_0 (_tmp23_);
#line 4712 "LibraryWindow.c"
		}
	}
#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp28_ = import_dialog;
#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp29_ = gtk_file_chooser_get_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_file_chooser_get_type (), GtkFileChooser));
#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (self->priv->import_dir);
#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->import_dir = _tmp29_;
#line 536 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp30_ = recursive;
#line 536 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp31_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_toggle_button_get_type (), GtkToggleButton));
#line 536 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp32_ = _tmp31_;
#line 536 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->import_recursive = _tmp32_;
#line 537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp33_ = import_dialog;
#line 537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget));
#line 508 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (recursive);
#line 508 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (import_dialog);
#line 4739 "LibraryWindow.c"
}


static void
library_window_on_external_library_import (LibraryWindow* self)
{
	GtkDialog* import_dialog = NULL;
	DataImportsUIDataImportsDialog* _tmp0_;
#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = data_imports_ui_data_imports_dialog_get_or_create_instance ();
#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	import_dialog = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_dialog_get_type (), GtkDialog);
#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_dialog_run (import_dialog);
#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (import_dialog);
#line 4758 "LibraryWindow.c"
}


static void
library_window_real_update_common_action_availability (AppWindow* base,
                                                       Page* old_page,
                                                       Page* new_page)
{
	LibraryWindow * self;
	gboolean is_checkerboard = FALSE;
#line 546 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 546 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page));
#line 546 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page));
#line 547 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	APP_WINDOW_CLASS (library_window_parent_class)->update_common_action_availability (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), old_page, new_page);
#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	is_checkerboard = G_TYPE_CHECK_INSTANCE_TYPE (new_page, TYPE_CHECKERBOARD_PAGE);
#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar", is_checkerboard);
#line 552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonFind", is_checkerboard);
#line 4783 "LibraryWindow.c"
}


static void
library_window_real_update_common_actions (AppWindow* base,
                                           Page* page,
                                           gint selected_count,
                                           gint count)
{
	LibraryWindow * self;
	CollectionPage* collection = NULL;
	Photo* start = NULL;
	gboolean can_fullscreen = FALSE;
	CollectionPage* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	gboolean _tmp2_;
#line 555 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 555 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = library_window_get_fullscreen_photo (self, page, &_tmp0_, &_tmp1_, NULL);
#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (collection);
#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	collection = _tmp0_;
#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (start);
#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	start = _tmp1_;
#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	can_fullscreen = _tmp2_;
#line 563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonEmptyTrash", library_window_can_empty_trash (self));
#line 564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", TRUE);
#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", library_window_can_jump_to_event (self));
#line 566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonFullscreen", can_fullscreen);
#line 568 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	APP_WINDOW_CLASS (library_window_parent_class)->update_common_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), page, selected_count, count);
#line 555 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (start);
#line 555 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (collection);
#line 4830 "LibraryWindow.c"
}


static void
library_window_on_trashcan_contents_altered (LibraryWindow* self)
{
#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 572 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonEmptyTrash", library_window_can_empty_trash (self));
#line 4841 "LibraryWindow.c"
}


static gboolean
library_window_can_empty_trash (LibraryWindow* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	LibraryPhotoSourceCollection* _tmp1_;
#line 575 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = library_photo_global;
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (media_source_collection_get_trashcan_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) > 0) {
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = TRUE;
#line 4859 "LibraryWindow.c"
	} else {
		VideoSourceCollection* _tmp2_;
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = video_global;
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = media_source_collection_get_trashcan_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) > 0;
#line 4866 "LibraryWindow.c"
	}
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp0_;
#line 576 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 4872 "LibraryWindow.c"
}


static void
library_window_on_empty_trash (LibraryWindow* self)
{
	GeeArrayList* to_remove = NULL;
	GeeArrayList* _tmp0_;
	LibraryPhotoSourceCollection* _tmp1_;
	GeeCollection* _tmp2_;
	GeeCollection* _tmp3_;
	VideoSourceCollection* _tmp4_;
	GeeCollection* _tmp5_;
	GeeCollection* _tmp6_;
	CommandManager* _tmp7_;
	CommandManager* _tmp8_;
#line 579 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 580 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 580 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	to_remove = _tmp0_;
#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = library_photo_global;
#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gee_array_list_add_all (to_remove, _tmp3_);
#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp3_);
#line 582 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = video_global;
#line 582 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 582 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = _tmp5_;
#line 582 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gee_array_list_add_all (to_remove, _tmp6_);
#line 582 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp6_);
#line 584 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (to_remove, GEE_TYPE_COLLECTION, GeeCollection), _ ("Empty Trash"), _ ("Emptying Trash…"));
#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = app_window_get_command_manager ();
#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = _tmp7_;
#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	command_manager_reset (_tmp8_);
#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_command_manager_unref0 (_tmp8_);
#line 579 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (to_remove);
#line 4927 "LibraryWindow.c"
}


static void
library_window_on_new_search (LibraryWindow* self)
{
	SavedSearchDialog* _tmp0_;
	SavedSearchDialog* _tmp1_;
#line 589 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = saved_search_dialog_new ();
#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp0_);
#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	saved_search_dialog_show (_tmp1_);
#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 4948 "LibraryWindow.c"
}


static gboolean
library_window_can_jump_to_event (LibraryWindow* self)
{
	gboolean result = FALSE;
	ViewCollection* view = NULL;
	Page* _tmp0_;
	Page* _tmp1_;
	ViewCollection* _tmp2_;
	ViewCollection* _tmp3_;
	ViewCollection* _tmp4_;
#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 594 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 594 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 594 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = page_get_view (_tmp1_);
#line 594 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 594 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 594 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = _tmp3_;
#line 595 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = view;
#line 595 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (view_collection_get_selected_count (_tmp4_) == 1) {
#line 4980 "LibraryWindow.c"
		DataSource* selected_source = NULL;
		ViewCollection* _tmp5_;
		DataSource* _tmp6_;
		DataSource* _tmp7_;
#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = view;
#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = view_collection_get_selected_source_at (_tmp5_, 0);
#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		selected_source = _tmp6_;
#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = selected_source;
#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_EVENT)) {
#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = TRUE;
#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_g_object_unref0 (selected_source);
#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (view);
#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 5003 "LibraryWindow.c"
		} else {
			DataSource* _tmp8_;
#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp8_ = selected_source;
#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_MEDIA_SOURCE)) {
#line 5010 "LibraryWindow.c"
				ViewCollection* _tmp9_;
				DataSource* _tmp10_;
				MediaSource* _tmp11_;
				Event* _tmp12_;
				Event* _tmp13_;
				gboolean _tmp14_;
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp9_ = view;
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp10_ = view_collection_get_selected_source_at (_tmp9_, 0);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp12_ = media_source_get_event (_tmp11_);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp13_ = _tmp12_;
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp14_ = _tmp13_ != NULL;
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_tmp13_);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (_tmp11_);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				result = _tmp14_;
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (selected_source);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (view);
#line 600 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				return result;
#line 5041 "LibraryWindow.c"
			} else {
#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				result = FALSE;
#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (selected_source);
#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_data_collection_unref0 (view);
#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				return result;
#line 5051 "LibraryWindow.c"
			}
		}
#line 595 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (selected_source);
#line 5056 "LibraryWindow.c"
	} else {
#line 604 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = FALSE;
#line 604 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (view);
#line 604 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 5064 "LibraryWindow.c"
	}
#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 5068 "LibraryWindow.c"
}


static void
library_window_on_jump_to_event (LibraryWindow* self)
{
	ViewCollection* view = NULL;
	Page* _tmp0_;
	Page* _tmp1_;
	ViewCollection* _tmp2_;
	ViewCollection* _tmp3_;
	ViewCollection* _tmp4_;
	MediaSource* media = NULL;
	ViewCollection* _tmp5_;
	DataSource* _tmp6_;
	MediaSource* _tmp7_;
	MediaSource* _tmp8_;
	MediaSource* _tmp9_;
	Event* _tmp10_;
	Event* _tmp11_;
	gboolean _tmp12_;
#line 608 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = page_get_view (_tmp1_);
#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = _tmp3_;
#line 611 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = view;
#line 611 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (view_collection_get_selected_count (_tmp4_) != 1) {
#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (view);
#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 5112 "LibraryWindow.c"
	}
#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = view;
#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = view_collection_get_selected_source_at (_tmp5_, 0);
#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp6_) : NULL;
#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp7_ == NULL) {
#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp6_);
#line 5124 "LibraryWindow.c"
	}
#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	media = _tmp7_;
#line 615 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = media;
#line 615 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp8_ == NULL) {
#line 616 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (media);
#line 616 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (view);
#line 616 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 5138 "LibraryWindow.c"
	}
#line 618 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = media;
#line 618 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = media_source_get_event (_tmp9_);
#line 618 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = _tmp10_;
#line 618 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = _tmp11_ != NULL;
#line 618 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp11_);
#line 618 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp12_) {
#line 5152 "LibraryWindow.c"
		MediaSource* _tmp13_;
		Event* _tmp14_;
		Event* _tmp15_;
#line 619 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = media;
#line 619 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = media_source_get_event (_tmp13_);
#line 619 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = _tmp14_;
#line 619 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_event (self, _tmp15_);
#line 619 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp15_);
#line 5166 "LibraryWindow.c"
	}
#line 608 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (media);
#line 608 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 5172 "LibraryWindow.c"
}


static GVariant*
_variant_new5 (gboolean value)
{
#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 5181 "LibraryWindow.c"
}


static void
library_window_on_find (LibraryWindow* self)
{
	GAction* action = NULL;
	GAction* _tmp0_;
	GAction* _tmp1_;
	GVariant* _tmp2_;
	SearchFilterToolbar* _tmp3_;
#line 622 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplaySearchbar");
#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	action = _tmp1_;
#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _variant_new5 (TRUE);
#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (action, _tmp2_);
#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp2_);
#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = self->priv->search_toolbar;
#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	search_filter_toolbar_take_focus (_tmp3_);
#line 622 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (action);
#line 5213 "LibraryWindow.c"
}


static void
library_window_on_media_altered (LibraryWindow* self)
{
#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", library_window_can_jump_to_event (self));
#line 5224 "LibraryWindow.c"
}


static void
library_window_on_clear_search (LibraryWindow* self)
{
	gboolean _tmp0_;
#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 635 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->is_search_toolbar_visible;
#line 635 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp0_) {
#line 5238 "LibraryWindow.c"
		SearchFilterActions* _tmp1_;
#line 636 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = self->priv->search_actions;
#line 636 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		search_filter_actions_reset (_tmp1_);
#line 5244 "LibraryWindow.c"
	}
}


gint
library_window_get_events_sort (LibraryWindow* self)
{
	gint result = 0;
	GSimpleAction* action = NULL;
	GAction* _tmp0_;
	GSimpleAction* _tmp1_;
	gint _tmp2_ = 0;
	GSimpleAction* _tmp3_;
#line 639 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), 0);
#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonSortEvents");
#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp0_) : NULL);
#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	action = _tmp1_;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = action;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp3_ != NULL) {
#line 5270 "LibraryWindow.c"
		gint _tmp4_ = 0;
		GSimpleAction* _tmp5_;
		GVariant* _tmp6_;
		GVariant* _tmp7_;
		GVariant* _tmp8_;
		const gchar* _tmp9_;
		gboolean _tmp10_;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = action;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, g_action_get_type (), GAction));
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = _tmp6_;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = _tmp7_;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = g_variant_get_string (_tmp8_, NULL);
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp10_ = g_strcmp0 (_tmp9_, LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING) == 0;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_variant_unref0 (_tmp8_);
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp10_) {
#line 643 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp4_ = 0;
#line 5296 "LibraryWindow.c"
		} else {
#line 643 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp4_ = 1;
#line 5300 "LibraryWindow.c"
		}
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = _tmp4_;
#line 5304 "LibraryWindow.c"
	} else {
#line 644 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = 1;
#line 5308 "LibraryWindow.c"
	}
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp2_;
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (action);
#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 5316 "LibraryWindow.c"
}


static void
library_window_on_events_sort_changed (LibraryWindow* self,
                                       GSimpleAction* action,
                                       GVariant* value)
{
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	const gchar* _tmp2_;
#line 647 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 647 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = config_facade_get_instance ();
#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = g_variant_get_string (value, NULL);
#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), g_strcmp0 (_tmp2_, LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING) == 0);
#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 652 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_simple_action_set_state (action, value);
#line 5344 "LibraryWindow.c"
}


static void
library_window_on_preferences (LibraryWindow* self)
{
#line 655 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 656 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	preferences_dialog_show_preferences ();
#line 5355 "LibraryWindow.c"
}


static void
library_window_on_display_basic_properties (LibraryWindow* self,
                                            GSimpleAction* action,
                                            GVariant* value)
{
	gboolean display = FALSE;
	gboolean _tmp0_;
	ConfigFacade* _tmp8_;
	ConfigFacade* _tmp9_;
	gboolean _tmp10_;
#line 659 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 659 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 660 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	display = g_variant_get_boolean (value);
#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = display;
#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp0_) {
#line 5379 "LibraryWindow.c"
		BasicProperties* _tmp1_;
		Page* _tmp2_;
		Page* _tmp3_;
		GtkFrame* _tmp4_;
#line 663 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = self->priv->basic_properties;
#line 663 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 663 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = _tmp2_;
#line 663 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PROPERTIES, Properties), _tmp3_);
#line 663 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp3_);
#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = self->priv->bottom_frame;
#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 5398 "LibraryWindow.c"
	} else {
		GtkPaned* _tmp5_;
		GtkWidget* _tmp6_;
#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = self->priv->sidebar_paned;
#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = gtk_paned_get_child2 (_tmp5_);
#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp6_ != NULL) {
#line 5408 "LibraryWindow.c"
			GtkFrame* _tmp7_;
#line 667 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp7_ = self->priv->bottom_frame;
#line 667 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
#line 5414 "LibraryWindow.c"
		}
	}
#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = config_facade_get_instance ();
#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = _tmp8_;
#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = display;
#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_display_basic_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp10_);
#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp9_);
#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_simple_action_set_state (action, value);
#line 5429 "LibraryWindow.c"
}


static gboolean
_variant_get6 (GVariant* value)
{
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_get_boolean (value);
#line 5438 "LibraryWindow.c"
}


static GVariant*
_variant_new7 (gboolean value)
{
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 5447 "LibraryWindow.c"
}


static void
library_window_on_action_toggle (LibraryWindow* self,
                                 GAction* action,
                                 GVariant* value)
{
	GVariant* new_state = NULL;
	GVariant* _tmp0_;
	GVariant* _tmp1_;
	gboolean _tmp2_;
	GVariant* _tmp3_;
	GVariant* _tmp4_;
#line 676 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 676 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_ACTION (action));
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_action_get_state (action);
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _variant_get6 (_tmp1_);
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _variant_new7 (!_tmp2_);
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp1_);
#line 677 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	new_state = _tmp4_;
#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (action, new_state);
#line 676 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (new_state);
#line 5484 "LibraryWindow.c"
}


static void
library_window_on_action_radio (LibraryWindow* self,
                                GAction* action,
                                GVariant* value)
{
#line 681 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 681 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_ACTION (action));
#line 682 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (action, value);
#line 5499 "LibraryWindow.c"
}


static void
library_window_on_display_extended_properties (LibraryWindow* self,
                                               GSimpleAction* action,
                                               GVariant* value)
{
	gboolean display = FALSE;
	gboolean _tmp0_;
#line 685 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 685 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 686 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	display = g_variant_get_boolean (value);
#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = display;
#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp0_) {
#line 5520 "LibraryWindow.c"
		ExtendedPropertiesWindow* _tmp1_;
		Page* _tmp2_;
		Page* _tmp3_;
		ExtendedPropertiesWindow* _tmp4_;
#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = self->priv->extended_properties;
#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = _tmp2_;
#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		extended_properties_window_update_properties (_tmp1_, _tmp3_);
#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp3_);
#line 690 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = self->priv->extended_properties;
#line 690 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 5539 "LibraryWindow.c"
	} else {
		ExtendedPropertiesWindow* _tmp5_;
#line 692 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = self->priv->extended_properties;
#line 692 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
#line 5546 "LibraryWindow.c"
	}
#line 695 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_simple_action_set_state (action, value);
#line 5550 "LibraryWindow.c"
}


static GVariant*
_variant_new8 (gboolean value)
{
#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 5559 "LibraryWindow.c"
}


static void
library_window_on_display_searchbar (LibraryWindow* self,
                                     GSimpleAction* action,
                                     GVariant* value)
{
	gboolean is_shown = FALSE;
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	GVariant* _tmp2_;
#line 698 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 698 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 699 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	is_shown = g_variant_get_boolean (value);
#line 701 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = config_facade_get_instance ();
#line 701 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 701 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), is_shown);
#line 701 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 702 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_show_search_bar (self, is_shown);
#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _variant_new8 (is_shown);
#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_simple_action_set_state (action, _tmp2_);
#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp2_);
#line 5594 "LibraryWindow.c"
}


void
library_window_show_search_bar (LibraryWindow* self,
                                gboolean display)
{
	Page* _tmp0_;
	Page* _tmp1_;
	gboolean _tmp2_;
	Page* _tmp3_;
	CheckerboardPage* _tmp4_;
	CheckerboardPage* _tmp5_;
#line 706 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_CHECKERBOARD_PAGE);
#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_) {
#line 708 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 5622 "LibraryWindow.c"
	}
#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->is_search_toolbar_visible = display;
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp3_) : NULL;
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp4_ == NULL) {
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp3_);
#line 5634 "LibraryWindow.c"
	}
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = _tmp4_;
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_toggle_search_bar (self, library_window_should_show_search_bar (self), _tmp5_);
#line 711 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp5_);
#line 712 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (!display) {
#line 5644 "LibraryWindow.c"
		SearchFilterActions* _tmp6_;
#line 713 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = self->priv->search_actions;
#line 713 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		search_filter_actions_reset (_tmp6_);
#line 5650 "LibraryWindow.c"
	}
}


static void
library_window_on_display_sidebar (LibraryWindow* self,
                                   GSimpleAction* action,
                                   GVariant* variant)
{
#line 716 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 716 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 717 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_set_sidebar_visible (self, g_variant_get_boolean (variant));
#line 719 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_simple_action_set_state (action, variant);
#line 5668 "LibraryWindow.c"
}


static void
library_window_set_sidebar_visible (LibraryWindow* self,
                                    gboolean visible)
{
	GtkPaned* _tmp0_;
	ConfigFacade* _tmp1_;
	ConfigFacade* _tmp2_;
#line 722 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->sidebar_paned;
#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), visible);
#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = config_facade_get_instance ();
#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_display_sidebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), visible);
#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp2_);
#line 5693 "LibraryWindow.c"
}


static gboolean
library_window_is_sidebar_visible (LibraryWindow* self)
{
	gboolean result = FALSE;
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	gboolean _tmp2_;
#line 727 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = config_facade_get_instance ();
#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = configuration_facade_get_display_sidebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp2_;
#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 5718 "LibraryWindow.c"
}


static void
library_window_on_display_toolbar (LibraryWindow* self,
                                   GSimpleAction* action,
                                   GVariant* variant)
{
#line 731 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 731 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_set_toolbar_visible (self, g_variant_get_boolean (variant));
#line 734 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_simple_action_set_state (action, variant);
#line 5735 "LibraryWindow.c"
}


static void
library_window_set_toolbar_visible (LibraryWindow* self,
                                    gboolean visible)
{
	Page* _tmp0_;
	Page* _tmp1_;
	gboolean _tmp2_;
	GtkToolbar* toolbar = NULL;
	Page* _tmp3_;
	Page* _tmp4_;
	GtkToolbar* _tmp5_;
	GtkToolbar* _tmp6_;
	GtkToolbar* _tmp7_;
	ConfigFacade* _tmp9_;
	ConfigFacade* _tmp10_;
#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_ == NULL;
#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_) {
#line 739 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 5768 "LibraryWindow.c"
	}
#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = page_get_toolbar (_tmp4_);
#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = _tmp5_;
#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp4_);
#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	toolbar = _tmp6_;
#line 743 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = toolbar;
#line 743 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp7_ != NULL) {
#line 5786 "LibraryWindow.c"
		GtkRevealer* _tmp8_;
#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = self->priv->toolbar_revealer;
#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_revealer_set_reveal_child (_tmp8_, visible);
#line 5792 "LibraryWindow.c"
	}
#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = config_facade_get_instance ();
#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = _tmp9_;
#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_display_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), visible);
#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp10_);
#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (toolbar);
#line 5804 "LibraryWindow.c"
}


static gboolean
library_window_is_toolbar_visible (LibraryWindow* self)
{
	gboolean result = FALSE;
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	gboolean _tmp2_;
#line 749 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = config_facade_get_instance ();
#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = configuration_facade_get_display_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp2_;
#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 5829 "LibraryWindow.c"
}


static void
library_window_show_extended_properties (LibraryWindow* self)
{
#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 754 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_sync_extended_properties (self, TRUE);
#line 5840 "LibraryWindow.c"
}


static void
library_window_hide_extended_properties (LibraryWindow* self)
{
#line 757 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_sync_extended_properties (self, FALSE);
#line 5851 "LibraryWindow.c"
}


static GVariant*
_variant_new9 (gboolean value)
{
#line 763 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 5860 "LibraryWindow.c"
}


static void
library_window_sync_extended_properties (LibraryWindow* self,
                                         gboolean show)
{
	GAction* action = NULL;
	GAction* _tmp0_;
	GAction* _tmp1_;
	GVariant* _tmp2_;
	ConfigFacade* _tmp3_;
	ConfigFacade* _tmp4_;
#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 762 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplayExtendedProperties");
#line 762 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 762 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	action = _tmp1_;
#line 763 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _variant_new9 (show);
#line 763 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (action, _tmp2_);
#line 763 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp2_);
#line 766 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = config_facade_get_instance ();
#line 766 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 766 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	configuration_facade_set_display_extended_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), show);
#line 766 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp4_);
#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (action);
#line 5898 "LibraryWindow.c"
}


void
library_window_enqueue_batch_import (LibraryWindow* self,
                                     BatchImport* batch_import,
                                     gboolean allow_user_cancel)
{
	LibraryBranch* _tmp0_;
	LibraryImportQueueSidebarEntry* _tmp1_;
	LibraryImportQueueSidebarEntry* _tmp2_;
#line 769 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 769 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_BATCH_IMPORT (batch_import));
#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->library_branch;
#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = library_branch_get_import_queue_entry (_tmp0_);
#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_import_queue_sidebar_entry_enqueue_and_schedule (_tmp2_, batch_import, allow_user_cancel);
#line 5922 "LibraryWindow.c"
}


static void
library_window_import_reporter (LibraryWindow* self,
                                ImportManifest* manifest)
{
#line 773 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 773 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_IMPORT_MANIFEST (manifest));
#line 774 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	import_ui_report_manifest (manifest, TRUE, NULL);
#line 5936 "LibraryWindow.c"
}


static void
_library_window_import_reporter_batch_import_import_reporter (ImportManifest* manifest,
                                                              BatchImportRoll* import_roll,
                                                              gpointer self)
{
#line 805 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_import_reporter ((LibraryWindow*) self, manifest);
#line 5947 "LibraryWindow.c"
}


static void
library_window_dispatch_import_jobs (LibraryWindow* self,
                                     GSList* uris,
                                     const gchar* job_name,
                                     gboolean copy_to_library,
                                     gboolean recurse)
{
	gboolean _tmp0_ = FALSE;
	GFile* _tmp1_;
	GFile* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	const gchar* _tmp5_;
	gboolean _tmp6_;
	GeeArrayList* jobs = NULL;
	GeeArrayList* _tmp14_;
	GeeArrayList* _tmp26_;
	gint _tmp27_;
	gint _tmp28_;
#line 777 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 777 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (job_name != NULL);
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = app_dirs_get_import_dir ();
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = g_file_get_path (_tmp2_);
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = g_get_home_dir ();
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = g_strcmp0 (_tmp4_, _tmp5_) == 0;
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (_tmp4_);
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp2_);
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp6_) {
#line 5992 "LibraryWindow.c"
		gboolean _tmp7_;
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = self->priv->notify_library_is_home_dir;
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = _tmp7_;
#line 5998 "LibraryWindow.c"
	} else {
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = FALSE;
#line 6002 "LibraryWindow.c"
	}
#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp0_) {
#line 6006 "LibraryWindow.c"
		GtkResponseType response = 0;
		gchar* _tmp8_;
		gchar* _tmp9_;
		AppWindow* _tmp10_;
		AppWindow* _tmp11_;
		GtkResponseType _tmp12_;
		GtkResponseType _tmp13_;
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = g_strdup_printf (_ ("Shotwell is configured to import photos to your home directory.\n" "We recommend changing this in <span weight=\"bold\">Edit %s Preference" \
"s</span>.\n" "Do you want to continue importing photos?"), "â–¸");
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = _tmp8_;
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp10_ = app_window_get_instance ();
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = _tmp10_;
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = app_window_affirm_cancel_question (_tmp9_, _ ("_Import"), _ ("Library Location"), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow));
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp11_);
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_free0 (_tmp9_);
#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		response = _tmp12_;
#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = response;
#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp13_ == GTK_RESPONSE_CANCEL) {
#line 786 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return;
#line 6036 "LibraryWindow.c"
		}
#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		self->priv->notify_library_is_home_dir = FALSE;
#line 6040 "LibraryWindow.c"
	}
#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = gee_array_list_new (TYPE_FILE_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, (GDestroyNotify) batch_import_job_unref, NULL, NULL, NULL);
#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	jobs = _tmp14_;
#line 6046 "LibraryWindow.c"
	{
		GSList* uri_collection = NULL;
		GSList* uri_it = NULL;
#line 792 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		uri_collection = uris;
#line 792 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		for (uri_it = uri_collection; uri_it != NULL; uri_it = uri_it->next) {
#line 6054 "LibraryWindow.c"
			gchar* _tmp15_;
			gchar* uri = NULL;
#line 792 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp15_ = g_strdup ((const gchar*) uri_it->data);
#line 792 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			uri = _tmp15_;
#line 6061 "LibraryWindow.c"
			{
				GFile* file_or_dir = NULL;
				const gchar* _tmp16_;
				GFile* _tmp17_;
				GFile* _tmp18_;
				gchar* _tmp19_;
				gchar* _tmp20_;
				gboolean _tmp21_;
				GeeArrayList* _tmp22_;
				GFile* _tmp23_;
				FileImportJob* _tmp24_;
				FileImportJob* _tmp25_;
#line 793 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp16_ = uri;
#line 793 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp17_ = g_file_new_for_uri (_tmp16_);
#line 793 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				file_or_dir = _tmp17_;
#line 794 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp18_ = file_or_dir;
#line 794 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp19_ = g_file_get_path (_tmp18_);
#line 794 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp20_ = _tmp19_;
#line 794 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp21_ = _tmp20_ == NULL;
#line 794 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_free0 (_tmp20_);
#line 794 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				if (_tmp21_) {
#line 796 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					app_window_error_message (_ ("Photos cannot be imported from this directory."), NULL);
#line 798 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_g_object_unref0 (file_or_dir);
#line 798 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_g_free0 (uri);
#line 798 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					continue;
#line 6100 "LibraryWindow.c"
				}
#line 801 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp22_ = jobs;
#line 801 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp23_ = file_or_dir;
#line 801 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp24_ = file_import_job_new (_tmp23_, copy_to_library, recurse);
#line 801 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp25_ = _tmp24_;
#line 801 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp25_);
#line 801 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_batch_import_job_unref0 (_tmp25_);
#line 792 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_object_unref0 (file_or_dir);
#line 792 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_free0 (uri);
#line 6118 "LibraryWindow.c"
			}
		}
	}
#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp26_ = jobs;
#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp27_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp28_ = _tmp27_;
#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp28_ > 0) {
#line 6130 "LibraryWindow.c"
		BatchImport* batch_import = NULL;
		GeeArrayList* _tmp29_;
		BatchImport* _tmp30_;
		BatchImport* _tmp31_;
#line 805 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp29_ = jobs;
#line 805 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp30_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ITERABLE, GeeIterable), job_name, _library_window_import_reporter_batch_import_import_reporter, self, NULL, NULL, NULL, NULL, NULL);
#line 805 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		batch_import = _tmp30_;
#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp31_ = batch_import;
#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_enqueue_batch_import (self, _tmp31_, TRUE);
#line 807 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_import_queue_page (self);
#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (batch_import);
#line 6149 "LibraryWindow.c"
	}
#line 777 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (jobs);
#line 6153 "LibraryWindow.c"
}


static GdkDragAction
library_window_get_drag_action (LibraryWindow* self)
{
	GdkDragAction result = 0;
	GdkModifierType mask = 0;
	GdkWindow* _tmp0_;
	GdkDisplay* _tmp1_;
	GdkDeviceManager* _tmp2_;
	GdkDevice* _tmp3_;
	GdkModifierType _tmp4_ = 0;
	gboolean ctrl = FALSE;
	GdkModifierType _tmp5_;
	gboolean alt = FALSE;
	GdkModifierType _tmp6_;
	gboolean shift = FALSE;
	GdkModifierType _tmp7_;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_;
#line 811 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), 0);
#line 814 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 814 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = gdk_display_get_default ();
#line 814 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = gdk_display_get_device_manager (_tmp1_);
#line 814 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = gdk_device_manager_get_client_pointer (_tmp2_);
#line 814 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gdk_window_get_device_position (_tmp0_, _tmp3_, NULL, NULL, &_tmp4_);
#line 814 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	mask = _tmp4_;
#line 817 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = mask;
#line 817 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	ctrl = (_tmp5_ & GDK_CONTROL_MASK) != 0;
#line 818 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = mask;
#line 818 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	alt = (_tmp6_ & GDK_MOD1_MASK) != 0;
#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = mask;
#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	shift = (_tmp7_ & GDK_SHIFT_MASK) != 0;
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = ctrl;
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp10_) {
#line 6206 "LibraryWindow.c"
		gboolean _tmp11_;
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = alt;
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = !_tmp11_;
#line 6212 "LibraryWindow.c"
	} else {
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = FALSE;
#line 6216 "LibraryWindow.c"
	}
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp9_) {
#line 6220 "LibraryWindow.c"
		gboolean _tmp12_;
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = shift;
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = !_tmp12_;
#line 6226 "LibraryWindow.c"
	} else {
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = FALSE;
#line 6230 "LibraryWindow.c"
	}
#line 821 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp8_) {
#line 822 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = GDK_ACTION_COPY;
#line 822 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 6238 "LibraryWindow.c"
	} else {
		gboolean _tmp13_ = FALSE;
		gboolean _tmp14_ = FALSE;
		gboolean _tmp15_;
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = ctrl;
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (!_tmp15_) {
#line 6247 "LibraryWindow.c"
			gboolean _tmp16_;
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp16_ = alt;
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp14_ = _tmp16_;
#line 6253 "LibraryWindow.c"
		} else {
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp14_ = FALSE;
#line 6257 "LibraryWindow.c"
		}
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp14_) {
#line 6261 "LibraryWindow.c"
			gboolean _tmp17_;
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp17_ = shift;
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp13_ = !_tmp17_;
#line 6267 "LibraryWindow.c"
		} else {
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp13_ = FALSE;
#line 6271 "LibraryWindow.c"
		}
#line 823 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp13_) {
#line 824 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			result = GDK_ACTION_ASK;
#line 824 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			return result;
#line 6279 "LibraryWindow.c"
		} else {
			gboolean _tmp18_ = FALSE;
			gboolean _tmp19_ = FALSE;
			gboolean _tmp20_;
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp20_ = ctrl;
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (_tmp20_) {
#line 6288 "LibraryWindow.c"
				gboolean _tmp21_;
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp21_ = alt;
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp19_ = !_tmp21_;
#line 6294 "LibraryWindow.c"
			} else {
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp19_ = FALSE;
#line 6298 "LibraryWindow.c"
			}
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (_tmp19_) {
#line 6302 "LibraryWindow.c"
				gboolean _tmp22_;
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp22_ = shift;
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp18_ = _tmp22_;
#line 6308 "LibraryWindow.c"
			} else {
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp18_ = FALSE;
#line 6312 "LibraryWindow.c"
			}
#line 825 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (_tmp18_) {
#line 826 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				result = GDK_ACTION_LINK;
#line 826 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				return result;
#line 6320 "LibraryWindow.c"
			} else {
#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				result = GDK_ACTION_DEFAULT;
#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				return result;
#line 6326 "LibraryWindow.c"
			}
		}
	}
}


static gboolean
library_window_real_drag_motion (GtkWidget* base,
                                 GdkDragContext* context,
                                 gint x,
                                 gint y,
                                 guint time)
{
	LibraryWindow * self;
	gboolean result = FALSE;
	GdkAtom target = 0U;
	GtkTargetList* _tmp0_;
	GdkAtom _tmp1_;
	GdkAtom _tmp2_;
	GtkWidget* _tmp3_;
	GdkDragAction drag_action = 0;
	GdkDragAction _tmp4_;
	GdkDragAction _tmp5_;
#line 831 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 831 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE);
#line 832 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = gtk_drag_dest_get_target_list (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 832 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	target = gtk_drag_dest_find_target (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), context, _tmp0_);
#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = target;
#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = GDK_NONE;
#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_ == _tmp2_) {
#line 834 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:834: drag target is GDK_NONE");
#line 835 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gdk_drag_status (context, 0, (guint32) time);
#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 6372 "LibraryWindow.c"
	}
#line 841 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = gtk_drag_get_source_widget (context);
#line 841 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp3_ != NULL) {
#line 842 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gdk_drag_status (context, GDK_ACTION_PRIVATE, (guint32) time);
#line 844 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 844 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 6384 "LibraryWindow.c"
	}
#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	drag_action = library_window_get_drag_action (self);
#line 850 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = drag_action;
#line 850 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp4_ == GDK_ACTION_DEFAULT) {
#line 851 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		drag_action = GDK_ACTION_ASK;
#line 6394 "LibraryWindow.c"
	}
#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = drag_action;
#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gdk_drag_status (context, _tmp5_, (guint32) time);
#line 855 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = TRUE;
#line 855 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 6404 "LibraryWindow.c"
}


static void
library_window_real_drag_data_received (GtkWidget* base,
                                        GdkDragContext* context,
                                        gint x,
                                        gint y,
                                        GtkSelectionData* selection_data,
                                        guint info,
                                        guint time)
{
	LibraryWindow * self;
	guint8* _tmp0_;
	GtkWidget* _tmp1_;
#line 858 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 858 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
#line 858 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (selection_data != NULL);
#line 860 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = gtk_selection_data_get_data (selection_data);
#line 860 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (-1 < 0) {
#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:861: failed to retrieve SelectionData");
#line 6432 "LibraryWindow.c"
	}
#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = gtk_drag_get_source_widget (context);
#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_ == NULL) {
#line 866 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_external_drop_handler (self, context, NULL, selection_data, info, time);
#line 6440 "LibraryWindow.c"
	} else {
#line 868 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_drag_finish (context, FALSE, FALSE, (guint32) time);
#line 6444 "LibraryWindow.c"
	}
}


static void
library_window_external_drop_handler (LibraryWindow* self,
                                      GdkDragContext* context,
                                      SidebarEntry* entry,
                                      GtkSelectionData* data,
                                      guint info,
                                      guint time)
{
	gchar** uris_array = NULL;
	gchar** _tmp0_;
	gchar** _tmp1_;
	gint uris_array_length1;
	gint _uris_array_size_;
	GSList* uris = NULL;
	gchar** _tmp2_;
	gint _tmp2__length1;
	GdkDragAction selected_action = 0;
	GdkDragAction _tmp6_;
	GSList* _tmp14_;
	GdkDragAction _tmp15_;
#line 871 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 871 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
#line 871 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail ((entry == NULL) || SIDEBAR_IS_ENTRY (entry));
#line 871 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (data != NULL);
#line 873 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_ = gtk_selection_data_get_uris (data);
#line 873 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	uris_array = _tmp1_;
#line 873 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	uris_array_length1 = _vala_array_length (_tmp0_);
#line 873 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_uris_array_size_ = uris_array_length1;
#line 875 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	uris = NULL;
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = uris_array;
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2__length1 = uris_array_length1;
#line 6491 "LibraryWindow.c"
	{
		gchar** uri_collection = NULL;
		gint uri_collection_length1 = 0;
		gint _uri_collection_size_ = 0;
		gint uri_it = 0;
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		uri_collection = _tmp2_;
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		uri_collection_length1 = _tmp2__length1;
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		for (uri_it = 0; uri_it < _tmp2__length1; uri_it = uri_it + 1) {
#line 6503 "LibraryWindow.c"
			gchar* _tmp3_;
			gchar* uri = NULL;
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp3_ = g_strdup (uri_collection[uri_it]);
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			uri = _tmp3_;
#line 6510 "LibraryWindow.c"
			{
				const gchar* _tmp4_;
				gchar* _tmp5_;
#line 877 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp4_ = uri;
#line 877 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp5_ = g_strdup (_tmp4_);
#line 877 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				uris = g_slist_append (uris, _tmp5_);
#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_g_free0 (uri);
#line 6522 "LibraryWindow.c"
			}
		}
	}
#line 879 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	selected_action = gdk_drag_context_get_selected_action (context);
#line 880 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = selected_action;
#line 880 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp6_ == GDK_ACTION_ASK) {
#line 6532 "LibraryWindow.c"
		GtkResponseType _result_ = 0;
		GSList* _tmp7_;
		GtkResponseType _tmp13_;
#line 882 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_result_ = GTK_RESPONSE_REJECT;
#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = uris;
#line 6540 "LibraryWindow.c"
		{
			GSList* uri_collection = NULL;
			GSList* uri_it = NULL;
#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			uri_collection = _tmp7_;
#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			for (uri_it = uri_collection; uri_it != NULL; uri_it = uri_it->next) {
#line 6548 "LibraryWindow.c"
				gchar* _tmp8_;
				gchar* uri = NULL;
#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				_tmp8_ = g_strdup ((const gchar*) uri_it->data);
#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				uri = _tmp8_;
#line 6555 "LibraryWindow.c"
				{
					const gchar* _tmp9_;
					GFile* _tmp10_;
					GFile* _tmp11_;
					gboolean _tmp12_;
#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_tmp9_ = uri;
#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_tmp10_ = g_file_new_for_uri (_tmp9_);
#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_tmp11_ = _tmp10_;
#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_tmp12_ = !app_dirs_is_in_import_dir (_tmp11_);
#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_g_object_unref0 (_tmp11_);
#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					if (_tmp12_) {
#line 885 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
						_result_ = copy_files_dialog ();
#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
						_g_free0 (uri);
#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
						break;
#line 6579 "LibraryWindow.c"
					}
#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
					_g_free0 (uri);
#line 6583 "LibraryWindow.c"
				}
			}
		}
#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = _result_;
#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		switch (_tmp13_) {
#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			case GTK_RESPONSE_ACCEPT:
#line 6593 "LibraryWindow.c"
			{
#line 893 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				selected_action = GDK_ACTION_COPY;
#line 894 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				break;
#line 6599 "LibraryWindow.c"
			}
#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			case GTK_RESPONSE_REJECT:
#line 6603 "LibraryWindow.c"
			{
#line 897 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				selected_action = GDK_ACTION_LINK;
#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				break;
#line 6609 "LibraryWindow.c"
			}
			default:
			{
#line 902 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				gtk_drag_finish (context, FALSE, FALSE, (guint32) time);
#line 904 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				__g_slist_free__g_free0_0 (uris);
#line 904 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				uris_array = (_vala_array_free (uris_array, uris_array_length1, (GDestroyNotify) g_free), NULL);
#line 904 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				return;
#line 6621 "LibraryWindow.c"
			}
		}
	}
#line 908 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = uris;
#line 908 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp15_ = selected_action;
#line 908 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_dispatch_import_jobs (self, _tmp14_, "drag-and-drop", _tmp15_ == GDK_ACTION_COPY, TRUE);
#line 910 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_drag_finish (context, TRUE, FALSE, (guint32) time);
#line 871 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	__g_slist_free__g_free0_0 (uris);
#line 871 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	uris_array = (_vala_array_free (uris_array, uris_array_length1, (GDestroyNotify) g_free), NULL);
#line 6637 "LibraryWindow.c"
}


void
library_window_switch_to_library_page (LibraryWindow* self)
{
	LibraryBranch* _tmp0_;
	LibraryPhotosEntry* _tmp1_;
	LibraryPhotosEntry* _tmp2_;
	Page* _tmp3_;
	Page* _tmp4_;
#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->library_branch;
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = library_branch_get_photos_entry (_tmp0_);
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_switch_to_page (self, _tmp4_);
#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp4_);
#line 6665 "LibraryWindow.c"
}


void
library_window_switch_to_event (LibraryWindow* self,
                                Event* event)
{
	EventsEventEntry* entry = NULL;
	EventsBranch* _tmp0_;
	EventsEventEntry* _tmp1_;
	EventsEventEntry* _tmp2_;
#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_EVENT (event));
#line 918 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->events_branch;
#line 918 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = events_branch_get_entry_for_event (_tmp0_, event);
#line 918 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ != NULL) {
#line 6691 "LibraryWindow.c"
		EventsEventEntry* _tmp3_;
		Page* _tmp4_;
		Page* _tmp5_;
#line 920 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = entry;
#line 920 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 920 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _tmp4_;
#line 920 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp5_);
#line 920 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp5_);
#line 6705 "LibraryWindow.c"
	}
#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 6709 "LibraryWindow.c"
}


void
library_window_switch_to_tag (LibraryWindow* self,
                              Tag* tag)
{
	TagsSidebarEntry* entry = NULL;
	TagsBranch* _tmp0_;
	TagsSidebarEntry* _tmp1_;
	TagsSidebarEntry* _tmp2_;
#line 923 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 923 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_TAG (tag));
#line 924 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->tags_branch;
#line 924 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = tags_branch_get_entry_for_tag (_tmp0_, tag);
#line 924 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ != NULL) {
#line 6735 "LibraryWindow.c"
		TagsSidebarEntry* _tmp3_;
		Page* _tmp4_;
		Page* _tmp5_;
#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = entry;
#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _tmp4_;
#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp5_);
#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp5_);
#line 6749 "LibraryWindow.c"
	}
#line 923 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 6753 "LibraryWindow.c"
}


void
library_window_switch_to_saved_search (LibraryWindow* self,
                                       SavedSearch* search)
{
	SearchesSidebarEntry* entry = NULL;
	SearchesBranch* _tmp0_;
	SearchesSidebarEntry* _tmp1_;
	SearchesSidebarEntry* _tmp2_;
#line 929 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 929 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_SAVED_SEARCH (search));
#line 930 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->saved_search_branch;
#line 930 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = searches_branch_get_entry_for_saved_search (_tmp0_, search);
#line 930 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 931 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 931 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ != NULL) {
#line 6779 "LibraryWindow.c"
		SearchesSidebarEntry* _tmp3_;
		Page* _tmp4_;
		Page* _tmp5_;
#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = entry;
#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _tmp4_;
#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp5_);
#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp5_);
#line 6793 "LibraryWindow.c"
	}
#line 929 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 6797 "LibraryWindow.c"
}


void
library_window_switch_to_photo_page (LibraryWindow* self,
                                     CollectionPage* controller,
                                     Photo* current)
{
	ViewCollection* _tmp0_;
	ViewCollection* _tmp1_;
	DataView* _tmp2_;
	DataView* _tmp3_;
	LibraryPhotoPage* _tmp4_;
	LibraryPhotoPage* _tmp7_;
	LibraryPhotoPage* _tmp8_;
#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (controller));
#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PHOTO (current));
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (controller, TYPE_PAGE, Page));
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = view_collection_get_view_for_source (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (current, TYPE_DATA_SOURCE, DataSource));
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _tmp2_;
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (_tmp3_ != NULL, "controller.get_view().get_view_for_source(current) != null");
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp3_);
#line 936 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (_tmp1_);
#line 937 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = self->priv->photo_page;
#line 937 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp4_ == NULL) {
#line 6837 "LibraryWindow.c"
		LibraryPhotoPage* _tmp5_;
		LibraryPhotoPage* _tmp6_;
#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = library_photo_page_new ();
#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_object_ref_sink (_tmp5_);
#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (self->priv->photo_page);
#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		self->priv->photo_page = _tmp5_;
#line 939 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = self->priv->photo_page;
#line 939 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_add_to_stack (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE, Page));
#line 943 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		spin_event_loop ();
#line 6854 "LibraryWindow.c"
	}
#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = self->priv->photo_page;
#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_photo_page_display_for_collection (_tmp7_, controller, current, NULL);
#line 947 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = self->priv->photo_page;
#line 947 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE, Page));
#line 6864 "LibraryWindow.c"
}


void
library_window_switch_to_import_queue_page (LibraryWindow* self)
{
	LibraryBranch* _tmp0_;
	LibraryImportQueueSidebarEntry* _tmp1_;
	LibraryImportQueueSidebarEntry* _tmp2_;
	Page* _tmp3_;
	Page* _tmp4_;
#line 950 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->library_branch;
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = library_branch_get_import_queue_entry (_tmp0_);
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_switch_to_page (self, _tmp4_);
#line 951 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp4_);
#line 6892 "LibraryWindow.c"
}


static void
library_window_on_camera_added (LibraryWindow* self,
                                DiscoveredCamera* camera)
{
	CameraSidebarEntry* entry = NULL;
	CameraBranch* _tmp0_;
	CameraSidebarEntry* _tmp1_;
	CameraSidebarEntry* _tmp2_;
	ImportPage* page = NULL;
	CameraSidebarEntry* _tmp3_;
	Page* _tmp4_;
	GFile* uri_file = NULL;
	const gchar* _tmp5_;
	GFile* _tmp6_;
	GMount* mount = NULL;
	gboolean _tmp11_ = FALSE;
	GMount* _tmp12_;
	GError * _inner_error_ = NULL;
#line 954 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 954 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_DISCOVERED_CAMERA (camera));
#line 955 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->camera_branch;
#line 955 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = camera_branch_get_entry_for_camera (_tmp0_, camera);
#line 955 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = _tmp1_;
#line 956 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = entry;
#line 956 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_ == NULL) {
#line 957 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (entry);
#line 957 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 6932 "LibraryWindow.c"
	}
#line 959 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = entry;
#line 959 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 959 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	page = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_IMPORT_PAGE, ImportPage);
#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = camera->uri;
#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = g_file_new_for_uri (_tmp5_);
#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	uri_file = _tmp6_;
#line 963 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	mount = NULL;
#line 6948 "LibraryWindow.c"
	{
		GMount* _tmp7_ = NULL;
		GFile* _tmp8_;
		GMount* _tmp9_;
		GMount* _tmp10_;
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = uri_file;
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = g_file_find_enclosing_mount (_tmp8_, NULL, &_inner_error_);
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = _tmp9_;
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 6962 "LibraryWindow.c"
			goto __catch46_g_error;
		}
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp10_ = _tmp7_;
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = NULL;
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (mount);
#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		mount = _tmp10_;
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp7_);
#line 6975 "LibraryWindow.c"
	}
	goto __finally46;
	__catch46_g_error:
	{
		GError* err = NULL;
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		err = _inner_error_;
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_inner_error_ = NULL;
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_error_free0 (err);
#line 6987 "LibraryWindow.c"
	}
	__finally46:
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (mount);
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (uri_file);
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (page);
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (entry);
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_clear_error (&_inner_error_);
#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7006 "LibraryWindow.c"
	}
#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = mount;
#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp12_ != NULL) {
#line 7012 "LibraryWindow.c"
		const gchar* _tmp13_;
#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = camera->uri;
#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = !g_str_has_prefix (_tmp13_, "file://");
#line 7018 "LibraryWindow.c"
	} else {
#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = FALSE;
#line 7022 "LibraryWindow.c"
	}
#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp11_) {
#line 7026 "LibraryWindow.c"
		ImportPage* _tmp14_;
		GMount* _tmp15_;
#line 972 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = page;
#line 972 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = mount;
#line 972 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (import_page_unmount_camera (_tmp14_, _tmp15_)) {
#line 7035 "LibraryWindow.c"
			ImportPage* _tmp16_;
#line 973 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp16_ = page;
#line 973 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PAGE, Page));
#line 7041 "LibraryWindow.c"
		} else {
#line 975 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			app_window_error_message ("Unable to unmount the camera at this time.", NULL);
#line 7045 "LibraryWindow.c"
		}
	} else {
		ImportPage* _tmp17_;
#line 977 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp17_ = page;
#line 977 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PAGE, Page));
#line 7053 "LibraryWindow.c"
	}
#line 954 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (mount);
#line 954 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (uri_file);
#line 954 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (page);
#line 954 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 7063 "LibraryWindow.c"
}


void
library_window_add_to_stack (LibraryWindow* self,
                             Page* page)
{
	GtkStack* _tmp0_;
	GtkStack* _tmp1_;
#line 982 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 982 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 984 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (page, gtk_widget_get_type (), GtkWidget));
#line 986 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->stack;
#line 986 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (page, gtk_widget_get_type (), GtkWidget));
#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->stack;
#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
#line 7087 "LibraryWindow.c"
}


static void
library_window_remove_from_stack (LibraryWindow* self,
                                  Page* page)
{
	GtkStack* _tmp0_;
	GtkStack* _tmp1_;
#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 992 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->stack;
#line 992 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (page, gtk_widget_get_type (), GtkWidget));
#line 995 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->stack;
#line 995 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
#line 7109 "LibraryWindow.c"
}


static GVariant*
_variant_new10 (gboolean value)
{
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 7118 "LibraryWindow.c"
}


static GVariant*
_variant_new11 (gboolean value)
{
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 7127 "LibraryWindow.c"
}


static GVariant*
_variant_new12 (gboolean value)
{
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 7136 "LibraryWindow.c"
}


static GVariant*
_variant_new13 (const gchar* value)
{
#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return g_variant_ref_sink (g_variant_new_string (value));
#line 7145 "LibraryWindow.c"
}


static void
library_window_load_configuration (LibraryWindow* self)
{
	GAction* basic_display_action = NULL;
	GAction* _tmp0_;
	GAction* _tmp1_;
	GAction* _tmp2_;
	GAction* _tmp3_;
	ConfigFacade* _tmp4_;
	ConfigFacade* _tmp5_;
	GVariant* _tmp6_;
	GAction* extended_display_action = NULL;
	GAction* _tmp7_;
	GAction* _tmp8_;
	GAction* _tmp9_;
	GAction* _tmp10_;
	ConfigFacade* _tmp11_;
	ConfigFacade* _tmp12_;
	GVariant* _tmp13_;
	GAction* search_bar_display_action = NULL;
	GAction* _tmp14_;
	GAction* _tmp15_;
	GAction* _tmp16_;
	GAction* _tmp17_;
	ConfigFacade* _tmp18_;
	ConfigFacade* _tmp19_;
	GVariant* _tmp20_;
	GAction* sort_events_action = NULL;
	GAction* _tmp21_;
	GAction* _tmp22_;
	GAction* _tmp23_;
	const gchar* _tmp24_ = NULL;
	ConfigFacade* _tmp25_;
	ConfigFacade* _tmp26_;
	gboolean _tmp27_;
	gchar* event_sort_val = NULL;
	gchar* _tmp28_;
	GAction* _tmp29_;
	GVariant* _tmp30_;
#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplayBasicProperties");
#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	basic_display_action = _tmp1_;
#line 1001 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = basic_display_action;
#line 1001 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (_tmp2_ != NULL, "basic_display_action != null");
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = basic_display_action;
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = config_facade_get_instance ();
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = _tmp4_;
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = _variant_new10 (configuration_facade_get_display_basic_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)));
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp3_, _tmp6_);
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp6_);
#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp5_);
#line 1004 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplayExtendedProperties");
#line 1004 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = _g_object_ref0 (_tmp7_);
#line 1004 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	extended_display_action = _tmp8_;
#line 1005 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = extended_display_action;
#line 1005 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (_tmp9_ != NULL, "extended_display_action != null");
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = extended_display_action;
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = config_facade_get_instance ();
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = _tmp11_;
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp13_ = _variant_new11 (configuration_facade_get_display_extended_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)));
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp10_, _tmp13_);
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp13_);
#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp12_);
#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonDisplaySearchbar");
#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp15_ = _g_object_ref0 (_tmp14_);
#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	search_bar_display_action = _tmp15_;
#line 1009 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp16_ = search_bar_display_action;
#line 1009 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (_tmp16_ != NULL, "search_bar_display_action != null");
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp17_ = search_bar_display_action;
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp18_ = config_facade_get_instance ();
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp19_ = _tmp18_;
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp20_ = _variant_new12 (configuration_facade_get_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)));
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp17_, _tmp20_);
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp20_);
#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp19_);
#line 1012 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp21_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (self, g_action_map_get_type (), GActionMap), "CommonSortEvents");
#line 1012 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp22_ = _g_object_ref0 (_tmp21_);
#line 1012 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	sort_events_action = _tmp22_;
#line 1013 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp23_ = sort_events_action;
#line 1013 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (_tmp23_ != NULL, "sort_events_action != null");
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp25_ = config_facade_get_instance ();
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp26_ = _tmp25_;
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp27_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp26_);
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp27_) {
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp24_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING;
#line 7284 "LibraryWindow.c"
	} else {
#line 1019 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp24_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING;
#line 7288 "LibraryWindow.c"
	}
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp28_ = g_strdup (_tmp24_);
#line 1018 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	event_sort_val = _tmp28_;
#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp29_ = sort_events_action;
#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp30_ = _variant_new13 (event_sort_val);
#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_action_change_state (_tmp29_, _tmp30_);
#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_variant_unref0 (_tmp30_);
#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (event_sort_val);
#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (sort_events_action);
#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (search_bar_display_action);
#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (extended_display_action);
#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (basic_display_action);
#line 7312 "LibraryWindow.c"
}


static gboolean
_library_window_on_pulse_background_progress_bar_gsource_func (gpointer self)
{
	gboolean result;
	result = library_window_on_pulse_background_progress_bar ((LibraryWindow*) self);
#line 1036 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 7323 "LibraryWindow.c"
}


static void
library_window_start_pulse_background_progress_bar (LibraryWindow* self,
                                                    const gchar* label,
                                                    gint priority)
{
	gint _tmp0_;
	GtkProgressBar* _tmp1_;
	GtkProgressBar* _tmp2_;
#line 1024 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1024 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (label != NULL);
#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->current_progress_priority;
#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (priority < _tmp0_) {
#line 1026 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7345 "LibraryWindow.c"
	}
#line 1028 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_stop_pulse_background_progress_bar (self, priority, FALSE);
#line 1030 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->current_progress_priority = priority;
#line 1032 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->background_progress_bar;
#line 1032 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_set_text (_tmp1_, label);
#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->background_progress_bar;
#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_pulse (_tmp2_);
#line 1034 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_show_background_progress_bar (self);
#line 1036 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->background_progress_pulse_id = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) LIBRARY_WINDOW_BACKGROUND_PROGRESS_PULSE_MSEC, _library_window_on_pulse_background_progress_bar_gsource_func, g_object_ref (self), g_object_unref);
#line 7363 "LibraryWindow.c"
}


static gboolean
library_window_on_pulse_background_progress_bar (LibraryWindow* self)
{
	gboolean result = FALSE;
	GtkProgressBar* _tmp0_;
#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->background_progress_bar;
#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_pulse (_tmp0_);
#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = TRUE;
#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 7382 "LibraryWindow.c"
}


static void
library_window_stop_pulse_background_progress_bar (LibraryWindow* self,
                                                   gint priority,
                                                   gboolean clear)
{
	gint _tmp0_;
	guint _tmp1_;
#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->current_progress_priority;
#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (priority < _tmp0_) {
#line 1048 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7401 "LibraryWindow.c"
	}
#line 1050 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->background_progress_pulse_id;
#line 1050 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_ != ((guint) 0)) {
#line 7407 "LibraryWindow.c"
		guint _tmp2_;
#line 1051 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = self->priv->background_progress_pulse_id;
#line 1051 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_source_remove (_tmp2_);
#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		self->priv->background_progress_pulse_id = (guint) 0;
#line 7415 "LibraryWindow.c"
	}
#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (clear) {
#line 1056 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_clear_background_progress_bar (self, priority);
#line 7421 "LibraryWindow.c"
	}
}


static void
library_window_update_background_progress_bar (LibraryWindow* self,
                                               const gchar* label,
                                               gint priority,
                                               gdouble count,
                                               gdouble total)
{
	gint _tmp0_;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gdouble fraction = 0.0;
	GtkProgressBar* _tmp3_;
	gdouble _tmp4_;
	GtkProgressBar* _tmp5_;
	gdouble _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (label != NULL);
#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->current_progress_priority;
#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (priority < _tmp0_) {
#line 1062 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7453 "LibraryWindow.c"
	}
#line 1064 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_stop_pulse_background_progress_bar (self, priority, FALSE);
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (count <= 0.0) {
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = TRUE;
#line 7461 "LibraryWindow.c"
	} else {
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = total <= 0.0;
#line 7465 "LibraryWindow.c"
	}
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_) {
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = TRUE;
#line 7471 "LibraryWindow.c"
	} else {
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = count >= total;
#line 7475 "LibraryWindow.c"
	}
#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_) {
#line 1067 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_clear_background_progress_bar (self, priority);
#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7483 "LibraryWindow.c"
	}
#line 1072 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->current_progress_priority = priority;
#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	fraction = count / total;
#line 1075 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = self->priv->background_progress_bar;
#line 1075 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = fraction;
#line 1075 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_set_fraction (_tmp3_, _tmp4_);
#line 1076 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = self->priv->background_progress_bar;
#line 1076 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = fraction;
#line 1076 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = g_strdup_printf (_ ("%s (%d%%)"), label, (gint) (_tmp6_ * 100.0));
#line 1076 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = _tmp7_;
#line 1076 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_set_text (_tmp5_, _tmp8_);
#line 1076 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (_tmp8_);
#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_show_background_progress_bar (self);
#line 7509 "LibraryWindow.c"
}


static void
library_window_clear_background_progress_bar (LibraryWindow* self,
                                              gint priority)
{
	gint _tmp0_;
	GtkProgressBar* _tmp1_;
	GtkProgressBar* _tmp2_;
#line 1086 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->current_progress_priority;
#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (priority < _tmp0_) {
#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7528 "LibraryWindow.c"
	}
#line 1090 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_stop_pulse_background_progress_bar (self, priority, FALSE);
#line 1092 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->current_progress_priority = 0;
#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->background_progress_bar;
#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_set_fraction (_tmp1_, 0.0);
#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->background_progress_bar;
#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_progress_bar_set_text (_tmp2_, "");
#line 1096 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_hide_background_progress_bar (self);
#line 7544 "LibraryWindow.c"
}


static void
library_window_show_background_progress_bar (LibraryWindow* self)
{
	gboolean _tmp0_;
#line 1104 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->background_progress_displayed;
#line 1105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (!_tmp0_) {
#line 7558 "LibraryWindow.c"
		GtkBox* _tmp1_;
		GtkFrame* _tmp2_;
		GtkFrame* _tmp3_;
#line 1106 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = self->priv->top_section;
#line 1106 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = self->priv->background_progress_frame;
#line 1106 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_box_pack_end (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 1107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = self->priv->background_progress_frame;
#line 1107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 1108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		self->priv->background_progress_displayed = TRUE;
#line 7574 "LibraryWindow.c"
	}
}


static void
library_window_hide_background_progress_bar (LibraryWindow* self)
{
	gboolean _tmp0_;
#line 1112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->background_progress_displayed;
#line 1113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp0_) {
#line 7589 "LibraryWindow.c"
		GtkBox* _tmp1_;
		GtkFrame* _tmp2_;
#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = self->priv->top_section;
#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = self->priv->background_progress_frame;
#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		self->priv->background_progress_displayed = FALSE;
#line 7600 "LibraryWindow.c"
	}
}


static void
library_window_on_library_monitor_discovery_started (LibraryWindow* self)
{
#line 1119 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1120 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_start_pulse_background_progress_bar (self, _ ("Updating library…"), LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY);
#line 7612 "LibraryWindow.c"
}


static void
library_window_on_library_monitor_discovery_completed (LibraryWindow* self)
{
#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1124 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_stop_pulse_background_progress_bar (self, LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY, TRUE);
#line 7623 "LibraryWindow.c"
}


static void
library_window_on_library_monitor_auto_update_progress (LibraryWindow* self,
                                                        gint completed_files,
                                                        gint total_files)
{
#line 1127 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (total_files < LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES) {
#line 1129 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_clear_background_progress_bar (self, LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY);
#line 7638 "LibraryWindow.c"
	} else {
#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_update_background_progress_bar (self, _ ("Updating library…"), LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY, (gdouble) completed_files, (gdouble) total_files);
#line 7642 "LibraryWindow.c"
	}
}


static void
library_window_on_library_monitor_auto_import_preparing (LibraryWindow* self)
{
#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1137 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_start_pulse_background_progress_bar (self, _ ("Preparing to auto-import photos…"), LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY);
#line 7654 "LibraryWindow.c"
}


static void
library_window_on_library_monitor_auto_import_progress (LibraryWindow* self,
                                                        guint64 completed_bytes,
                                                        guint64 total_bytes)
{
#line 1141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1142 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_update_background_progress_bar (self, _ ("Auto-importing photos…"), LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY, (gdouble) completed_bytes, (gdouble) total_bytes);
#line 7667 "LibraryWindow.c"
}


static void
library_window_on_metadata_writer_progress (LibraryWindow* self,
                                            guint completed,
                                            guint total)
{
#line 1146 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1147 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (total < ((guint) LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES)) {
#line 1148 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_clear_background_progress_bar (self, LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY);
#line 7682 "LibraryWindow.c"
	} else {
#line 1150 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_update_background_progress_bar (self, _ ("Writing metadata to files…"), LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY, (gdouble) completed, (gdouble) total);
#line 7686 "LibraryWindow.c"
	}
}


static void
library_window_create_layout (LibraryWindow* self,
                              Page* start_page)
{
	GtkScrolledWindow* scrolled_sidebar = NULL;
	GtkScrolledWindow* _tmp0_;
	SidebarTree* _tmp1_;
	GtkFrame* _tmp2_;
	GtkFrame* _tmp3_;
	GtkProgressBar* _tmp4_;
	GtkFrame* _tmp5_;
	GtkStyleContext* _tmp6_;
	BasicProperties* _tmp7_;
	BasicProperties* _tmp8_;
	BasicProperties* _tmp9_;
	BasicProperties* _tmp10_;
	BasicProperties* _tmp11_;
	BasicProperties* _tmp12_;
	BasicProperties* _tmp13_;
	BasicProperties* _tmp14_;
	GtkFrame* _tmp15_;
	BasicProperties* _tmp16_;
	GtkFrame* _tmp17_;
	GtkStyleContext* _tmp18_;
	GtkBox* _tmp19_;
	GtkPaned* _tmp20_;
	GtkBox* _tmp21_;
	GtkPaned* _tmp22_;
	GtkFrame* _tmp23_;
	GtkPaned* _tmp24_;
	GtkBox* _tmp25_;
	GtkBox* _tmp26_;
	SearchFilterToolbar* _tmp27_;
	GtkBox* _tmp28_;
	GtkStack* _tmp29_;
	GtkBox* _tmp30_;
	GtkRevealer* _tmp31_;
	GtkPaned* _tmp32_;
	GtkPaned* _tmp33_;
	GtkPaned* _tmp34_;
	SidebarTree* _tmp35_;
	GtkPaned* _tmp36_;
	GtkBox* _tmp37_;
	GtkPaned* _tmp38_;
	ConfigFacade* _tmp39_;
	ConfigFacade* _tmp40_;
	GtkStack* _tmp41_;
	gint _tmp42_;
	gint _tmp43_;
	GtkBox* _tmp44_;
	GtkPaned* _tmp45_;
	GtkBox* _tmp46_;
#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (start_page));
#line 1158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
#line 1158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp0_);
#line 1158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	scrolled_sidebar = _tmp0_;
#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_scrolled_window_set_policy (scrolled_sidebar, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
#line 1160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->sidebar_tree;
#line 1160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (scrolled_sidebar, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
#line 1162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->background_progress_frame;
#line 1162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), (guint) 2);
#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = self->priv->background_progress_frame;
#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = self->priv->background_progress_bar;
#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 1164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = self->priv->background_progress_frame;
#line 1164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
#line 1164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_style_context_remove_class (_tmp6_, "frame");
#line 1167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = self->priv->basic_properties;
#line 1167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_halign (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_FILL);
#line 1168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = self->priv->basic_properties;
#line 1168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_valign (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_CENTER);
#line 1169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = self->priv->basic_properties;
#line 1169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_hexpand (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE);
#line 1170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = self->priv->basic_properties;
#line 1170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_vexpand (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 1171 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = self->priv->basic_properties;
#line 1171 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_margin_top (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), 10);
#line 1172 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = self->priv->basic_properties;
#line 1172 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_margin_bottom (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), 10);
#line 1173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp13_ = self->priv->basic_properties;
#line 1173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), 6);
#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = self->priv->basic_properties;
#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), 0);
#line 1176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp15_ = self->priv->bottom_frame;
#line 1176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp16_ = self->priv->basic_properties;
#line 1176 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget));
#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp17_ = self->priv->bottom_frame;
#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp18_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget));
#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_style_context_remove_class (_tmp18_, "frame");
#line 1181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp19_ = self->priv->top_section;
#line 1181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (scrolled_sidebar, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp20_ = self->priv->sidebar_paned;
#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp21_ = self->priv->top_section;
#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_paned_pack1 (_tmp20_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE);
#line 1184 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp22_ = self->priv->sidebar_paned;
#line 1184 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp23_ = self->priv->bottom_frame;
#line 1184 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_paned_pack2 (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE);
#line 1185 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp24_ = self->priv->sidebar_paned;
#line 1185 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_paned_set_position (_tmp24_, 1000);
#line 1187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp25_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#line 1187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp25_);
#line 1187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->right_vbox);
#line 1187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->right_vbox = _tmp25_;
#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp26_ = self->priv->right_vbox;
#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp27_ = self->priv->search_toolbar;
#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_box_pack_start (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 1189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp28_ = self->priv->right_vbox;
#line 1189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp29_ = self->priv->stack;
#line 1189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_box_pack_start (_tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
#line 1190 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp30_ = self->priv->right_vbox;
#line 1190 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp31_ = self->priv->toolbar_revealer;
#line 1190 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget));
#line 1192 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp32_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
#line 1192 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp32_);
#line 1192 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->client_paned);
#line 1192 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->client_paned = _tmp32_;
#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp33_ = self->priv->client_paned;
#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp34_ = self->priv->sidebar_paned;
#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_paned_pack1 (_tmp33_, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE);
#line 1194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp35_ = self->priv->sidebar_tree;
#line 1194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget), LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH, -1);
#line 1195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp36_ = self->priv->client_paned;
#line 1195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp37_ = self->priv->right_vbox;
#line 1195 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_paned_pack2 (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE);
#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp38_ = self->priv->client_paned;
#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp39_ = config_facade_get_instance ();
#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp40_ = _tmp39_;
#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_paned_set_position (_tmp38_, configuration_facade_get_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)));
#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp40_);
#line 1198 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp41_ = self->priv->stack;
#line 1198 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp42_ = library_window_get_PAGE_MIN_WIDTH ();
#line 1198 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp43_ = _tmp42_;
#line 1198 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_widget_get_type (), GtkWidget), _tmp43_, -1);
#line 1200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp44_ = self->priv->layout;
#line 1200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp45_ = self->priv->client_paned;
#line 1200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_box_pack_end (_tmp44_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp46_ = self->priv->layout;
#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget));
#line 1204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_switch_to_page (self, start_page);
#line 1205 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (start_page, gtk_widget_get_type (), GtkWidget));
#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (scrolled_sidebar);
#line 7923 "LibraryWindow.c"
}


static void
library_window_real_set_current_page (PageWindow* base,
                                      Page* page)
{
	LibraryWindow * self;
#line 1208 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 1208 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 1210 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_switch_to_page (self, page);
#line 7938 "LibraryWindow.c"
}


void
library_window_set_page_switching_enabled (LibraryWindow* self,
                                           gboolean should_enable)
{
#line 1213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->page_switching_enabled = should_enable;
#line 7950 "LibraryWindow.c"
}


void
library_window_switch_to_page (LibraryWindow* self,
                               Page* page)
{
	gboolean _tmp0_;
	Page* _tmp1_;
	Page* _tmp2_;
	gboolean _tmp3_;
	Page* current_page = NULL;
	Page* _tmp4_;
	Page* _tmp5_;
	GtkStack* _tmp15_;
	SidebarEntry* entry = NULL;
	GeeHashMap* _tmp17_;
	gpointer _tmp18_;
	SidebarEntry* _tmp19_;
	Page* _tmp29_;
	Page* _tmp30_;
	GMenuModel* _tmp31_;
	GMenuModel* _tmp32_;
	gboolean old = FALSE;
	GtkSettings* _tmp33_;
	gboolean _tmp34_;
	gboolean _tmp35_;
	GtkSettings* _tmp36_;
	gboolean _tmp37_;
	GtkSettings* _tmp38_;
	gboolean _tmp39_;
	GtkToolbar* toolbar = NULL;
	GtkToolbar* _tmp40_;
	GtkToolbar* _tmp41_;
#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 1218 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->page_switching_enabled;
#line 1218 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (!_tmp0_) {
#line 1219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 7995 "LibraryWindow.c"
	}
#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = page == _tmp2_;
#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp2_);
#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp3_) {
#line 1222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 8009 "LibraryWindow.c"
	}
#line 1224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	current_page = _tmp4_;
#line 1225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = current_page;
#line 1225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp5_ != NULL) {
#line 8019 "LibraryWindow.c"
		GtkToolbar* toolbar = NULL;
		Page* _tmp6_;
		GtkToolbar* _tmp7_;
		GtkToolbar* _tmp8_;
		Page* _tmp11_;
		Page* _tmp12_;
		Page* _tmp14_;
#line 1226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_application_window_set_show_menubar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_window_get_type (), GtkApplicationWindow), FALSE);
#line 1227 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		application_set_menubar (NULL);
#line 1229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = current_page;
#line 1229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = page_get_toolbar (_tmp6_);
#line 1229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		toolbar = _tmp7_;
#line 1230 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = toolbar;
#line 1230 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp8_ != NULL) {
#line 8041 "LibraryWindow.c"
			GtkRevealer* _tmp9_;
			GtkToolbar* _tmp10_;
#line 1231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp9_ = self->priv->toolbar_revealer;
#line 1231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp10_ = toolbar;
#line 1231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget));
#line 8050 "LibraryWindow.c"
		}
#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = current_page;
#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		page_switching_from (_tmp11_);
#line 1237 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = current_page;
#line 1237 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_LIBRARY_PHOTO_PAGE)) {
#line 8060 "LibraryWindow.c"
			SidebarTree* _tmp13_;
#line 1238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp13_ = self->priv->sidebar_tree;
#line 1238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			sidebar_tree_enable_editing (_tmp13_);
#line 8066 "LibraryWindow.c"
		}
#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = current_page;
#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_unsubscribe_from_basic_information (self, _tmp14_);
#line 1225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (toolbar);
#line 8074 "LibraryWindow.c"
	}
#line 1244 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp15_ = self->priv->stack;
#line 1244 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_stack_set_visible_child (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (page, gtk_widget_get_type (), GtkWidget));
#line 1248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	PAGE_WINDOW_CLASS (library_window_parent_class)->set_current_page (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), TYPE_PAGE_WINDOW, PageWindow), page);
#line 1254 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (page, TYPE_LIBRARY_PHOTO_PAGE)) {
#line 8084 "LibraryWindow.c"
		SidebarTree* _tmp16_;
#line 1255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp16_ = self->priv->sidebar_tree;
#line 1255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		sidebar_tree_disable_editing (_tmp16_);
#line 8090 "LibraryWindow.c"
	}
#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_toggle_search_bar (self, library_window_should_show_search_bar (self), G_TYPE_CHECK_INSTANCE_TYPE (page, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) page) : NULL);
#line 1261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp17_ = self->priv->page_map;
#line 1261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp18_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), page);
#line 1261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	entry = (SidebarEntry*) _tmp18_;
#line 1262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp19_ = entry;
#line 1262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp19_ != NULL) {
#line 8104 "LibraryWindow.c"
		SidebarExpandableEntry* expandable_entry = NULL;
		SidebarEntry* _tmp20_;
		SidebarExpandableEntry* _tmp21_;
		gboolean _tmp22_ = FALSE;
		SidebarExpandableEntry* _tmp23_;
		SidebarTree* _tmp27_;
		SidebarEntry* _tmp28_;
#line 1265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp20_ = entry;
#line 1265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, SIDEBAR_TYPE_EXPANDABLE_ENTRY) ? ((SidebarExpandableEntry*) _tmp20_) : NULL);
#line 1265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		expandable_entry = _tmp21_;
#line 1266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp23_ = expandable_entry;
#line 1266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp23_ != NULL) {
#line 8122 "LibraryWindow.c"
			SidebarExpandableEntry* _tmp24_;
#line 1266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp24_ = expandable_entry;
#line 1266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp22_ = sidebar_expandable_entry_expand_on_select (_tmp24_);
#line 8128 "LibraryWindow.c"
		} else {
#line 1266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp22_ = FALSE;
#line 8132 "LibraryWindow.c"
		}
#line 1266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (_tmp22_) {
#line 8136 "LibraryWindow.c"
			SidebarTree* _tmp25_;
			SidebarEntry* _tmp26_;
#line 1267 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp25_ = self->priv->sidebar_tree;
#line 1267 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp26_ = entry;
#line 1267 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			sidebar_tree_expand_to_entry (_tmp25_, _tmp26_);
#line 8145 "LibraryWindow.c"
		}
#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp27_ = self->priv->sidebar_tree;
#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp28_ = entry;
#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		sidebar_tree_place_cursor (_tmp27_, _tmp28_, TRUE);
#line 1262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (expandable_entry);
#line 8155 "LibraryWindow.c"
	}
#line 1272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_update_properties (self);
#line 1274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (page, TYPE_CHECKERBOARD_PAGE)) {
#line 1275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_init_view_filter (self, G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_CHECKERBOARD_PAGE, CheckerboardPage));
#line 8163 "LibraryWindow.c"
	}
#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (page, gtk_widget_get_type (), GtkWidget));
#line 1280 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp29_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1280 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp30_ = _tmp29_;
#line 1280 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_subscribe_for_basic_information (self, _tmp30_);
#line 1280 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp30_);
#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	page_switched_to (page);
#line 1284 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp31_ = page_get_menubar (page);
#line 1284 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp32_ = _tmp31_;
#line 1284 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	application_set_menubar (_tmp32_);
#line 1284 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp32_);
#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_application_window_set_show_menubar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_window_get_type (), GtkApplicationWindow), TRUE);
#line 1286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp33_ = gtk_widget_get_settings (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 1286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_get (_tmp33_, "gtk-shell-shows-menubar", &_tmp34_, NULL);
#line 1286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp35_ = _tmp34_;
#line 1286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	old = _tmp35_;
#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp36_ = gtk_widget_get_settings (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp37_ = old;
#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_set (_tmp36_, "gtk-shell-shows-menubar", !_tmp37_, NULL);
#line 1288 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp38_ = gtk_widget_get_settings (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 1288 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp39_ = old;
#line 1288 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_set (_tmp38_, "gtk-shell-shows-menubar", _tmp39_, NULL);
#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp40_ = page_get_toolbar (page);
#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	toolbar = _tmp40_;
#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp41_ = toolbar;
#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp41_ != NULL) {
#line 8215 "LibraryWindow.c"
		GtkRevealer* _tmp42_;
		GtkToolbar* _tmp43_;
		GtkToolbar* _tmp44_;
		GtkRevealer* _tmp45_;
#line 1292 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp42_ = self->priv->toolbar_revealer;
#line 1292 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp43_ = toolbar;
#line 1292 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget));
#line 1293 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp44_ = toolbar;
#line 1293 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_widget_get_type (), GtkWidget));
#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp45_ = self->priv->toolbar_revealer;
#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		gtk_revealer_set_reveal_child (_tmp45_, library_window_is_toolbar_visible (self));
#line 8234 "LibraryWindow.c"
	}
#line 1297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	page_ready (page);
#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (toolbar);
#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (entry);
#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (current_page);
#line 8244 "LibraryWindow.c"
}


static void
library_window_init_view_filter (LibraryWindow* self,
                                 CheckerboardPage* page)
{
	SearchFilterToolbar* _tmp0_;
	SearchViewFilter* _tmp1_;
	SearchViewFilter* _tmp2_;
	ViewCollection* _tmp3_;
	ViewCollection* _tmp4_;
	SearchViewFilter* _tmp5_;
	SearchViewFilter* _tmp6_;
#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_CHECKERBOARD_PAGE (page));
#line 1301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->search_toolbar;
#line 1301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = checkerboard_page_get_search_view_filter (page);
#line 1301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 1301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	search_filter_toolbar_set_view_filter (_tmp0_, _tmp2_);
#line 1301 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_view_filter_unref0 (_tmp2_);
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_PAGE, Page));
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = checkerboard_page_get_search_view_filter (page);
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = _tmp5_;
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view_collection_install_view_filter (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_VIEW_FILTER, ViewFilter));
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_view_filter_unref0 (_tmp6_);
#line 1302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (_tmp4_);
#line 8287 "LibraryWindow.c"
}


static gboolean
library_window_should_show_search_bar (LibraryWindow* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	Page* _tmp1_;
	Page* _tmp2_;
	gboolean _tmp3_;
#line 1305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE);
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_CHECKERBOARD_PAGE);
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp2_);
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp3_) {
#line 8311 "LibraryWindow.c"
		gboolean _tmp4_;
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = self->priv->is_search_toolbar_visible;
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = _tmp4_;
#line 8317 "LibraryWindow.c"
	} else {
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = FALSE;
#line 8321 "LibraryWindow.c"
	}
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp0_;
#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 8327 "LibraryWindow.c"
}


static void
library_window_toggle_search_bar (LibraryWindow* self,
                                  gboolean show,
                                  CheckerboardPage* page)
{
	SearchFilterToolbar* _tmp0_;
#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail ((page == NULL) || IS_CHECKERBOARD_PAGE (page));
#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->search_toolbar;
#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gtk_revealer_set_reveal_child (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_revealer_get_type (), GtkRevealer), show);
#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (show) {
#line 8347 "LibraryWindow.c"
		SearchFilterToolbar* _tmp1_;
		SearchViewFilter* _tmp2_;
		SearchViewFilter* _tmp3_;
		ViewCollection* _tmp4_;
		ViewCollection* _tmp5_;
		SearchViewFilter* _tmp6_;
		SearchViewFilter* _tmp7_;
#line 1313 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_vala_assert (NULL != page, "null != page");
#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = self->priv->search_toolbar;
#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = checkerboard_page_get_search_view_filter (page);
#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = _tmp2_;
#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		search_filter_toolbar_set_view_filter (_tmp1_, _tmp3_);
#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_view_filter_unref0 (_tmp3_);
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_PAGE, Page));
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _tmp4_;
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = checkerboard_page_get_search_view_filter (page);
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = _tmp6_;
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		view_collection_install_view_filter (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_VIEW_FILTER, ViewFilter));
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_view_filter_unref0 (_tmp7_);
#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_data_collection_unref0 (_tmp5_);
#line 8381 "LibraryWindow.c"
	} else {
#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (page != NULL) {
#line 8385 "LibraryWindow.c"
			ViewCollection* _tmp8_;
			ViewCollection* _tmp9_;
			DisabledViewFilter* _tmp10_;
			DisabledViewFilter* _tmp11_;
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp8_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (page, TYPE_PAGE, Page));
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp9_ = _tmp8_;
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp10_ = disabled_view_filter_new ();
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp11_ = _tmp10_;
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			view_collection_install_view_filter (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_VIEW_FILTER, ViewFilter));
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_view_filter_unref0 (_tmp11_);
#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (_tmp9_);
#line 8404 "LibraryWindow.c"
		}
	}
}


static void
library_window_on_page_created (LibraryWindow* self,
                                SidebarPageRepresentative* entry,
                                Page* page)
{
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry));
#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 1323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->page_map;
#line 1323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (!gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), page), "!page_map.has_key(page)");
#line 1324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->page_map;
#line 1324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), page, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry));
#line 1326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_add_to_stack (self, page);
#line 8433 "LibraryWindow.c"
}


static void
library_window_on_destroying_page (LibraryWindow* self,
                                   SidebarPageRepresentative* entry,
                                   Page* page)
{
	Page* _tmp0_;
	Page* _tmp1_;
	gboolean _tmp2_;
	gboolean removed = FALSE;
	GeeHashMap* _tmp8_;
	gboolean _tmp9_;
#line 1329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry));
#line 1329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 1331 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1331 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 1331 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = page == _tmp1_;
#line 1331 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp1_);
#line 1331 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_) {
#line 8464 "LibraryWindow.c"
		LibraryBranch* _tmp3_;
		LibraryPhotosEntry* _tmp4_;
		LibraryPhotosEntry* _tmp5_;
		Page* _tmp6_;
		Page* _tmp7_;
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = self->priv->library_branch;
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = library_branch_get_photos_entry (_tmp3_);
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _tmp4_;
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = _tmp6_;
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp7_);
#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp7_);
#line 8484 "LibraryWindow.c"
	}
#line 1334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_remove_from_stack (self, page);
#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = self->priv->page_map;
#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), page, NULL);
#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	removed = _tmp9_;
#line 1337 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_vala_assert (removed, "removed");
#line 8496 "LibraryWindow.c"
}


static void
library_window_on_sidebar_entry_selected (LibraryWindow* self,
                                          SidebarSelectableEntry* selectable)
{
	SidebarPageRepresentative* page_rep = NULL;
	SidebarPageRepresentative* _tmp0_;
	SidebarPageRepresentative* _tmp1_;
#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (SIDEBAR_IS_SELECTABLE_ENTRY (selectable));
#line 1341 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (selectable, SIDEBAR_TYPE_PAGE_REPRESENTATIVE) ? ((SidebarPageRepresentative*) selectable) : NULL);
#line 1341 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	page_rep = _tmp0_;
#line 1342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = page_rep;
#line 1342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_ != NULL) {
#line 8519 "LibraryWindow.c"
		SidebarPageRepresentative* _tmp2_;
		Page* _tmp3_;
		Page* _tmp4_;
#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = page_rep;
#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = sidebar_page_representative_get_page (_tmp2_);
#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = _tmp3_;
#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp4_);
#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp4_);
#line 8533 "LibraryWindow.c"
	}
#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (page_rep);
#line 8537 "LibraryWindow.c"
}


static void
library_window_on_sidebar_selected_entry_removed (LibraryWindow* self,
                                                  SidebarSelectableEntry* selectable)
{
	LibraryLastImportSidebarEntry* last_import_entry = NULL;
	LibraryBranch* _tmp0_;
	LibraryLastImportSidebarEntry* _tmp1_;
	LibraryLastImportSidebarEntry* _tmp2_;
	LibraryLastImportSidebarEntry* _tmp3_;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp11_ = FALSE;
	gboolean _tmp18_ = FALSE;
	LibraryBranch* _tmp25_;
	LibraryPhotosEntry* _tmp26_;
	LibraryPhotosEntry* _tmp27_;
	Page* _tmp28_;
	Page* _tmp29_;
#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (SIDEBAR_IS_SELECTABLE_ENTRY (selectable));
#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->library_branch;
#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = library_branch_get_last_imported_entry (_tmp0_);
#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	last_import_entry = _tmp3_;
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (selectable, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) {
#line 8574 "LibraryWindow.c"
		LibraryLastImportSidebarEntry* _tmp5_;
		gboolean _tmp6_;
		gboolean _tmp7_;
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = last_import_entry;
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = library_hideable_page_entry_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry));
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = _tmp6_;
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = _tmp7_;
#line 8586 "LibraryWindow.c"
	} else {
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = FALSE;
#line 8590 "LibraryWindow.c"
	}
#line 1353 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp4_) {
#line 8594 "LibraryWindow.c"
		LibraryLastImportSidebarEntry* _tmp8_;
		Page* _tmp9_;
		Page* _tmp10_;
#line 1354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = last_import_entry;
#line 1354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 1354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp10_ = _tmp9_;
#line 1354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp10_);
#line 1354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp10_);
#line 1356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (last_import_entry);
#line 1356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 8612 "LibraryWindow.c"
	}
#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (selectable, EVENTS_TYPE_EVENT_ENTRY)) {
#line 8616 "LibraryWindow.c"
		EventsBranch* _tmp12_;
#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp12_ = self->priv->events_branch;
#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = sidebar_branch_get_show_branch (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 8622 "LibraryWindow.c"
	} else {
#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = FALSE;
#line 8626 "LibraryWindow.c"
	}
#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp11_) {
#line 8630 "LibraryWindow.c"
		EventsBranch* _tmp13_;
		EventsMasterDirectoryEntry* _tmp14_;
		EventsMasterDirectoryEntry* _tmp15_;
		Page* _tmp16_;
		Page* _tmp17_;
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp13_ = self->priv->events_branch;
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = events_branch_get_master_entry (_tmp13_);
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = _tmp14_;
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp16_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp17_ = _tmp16_;
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp17_);
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp17_);
#line 1361 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp15_);
#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (last_import_entry);
#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 8656 "LibraryWindow.c"
	}
#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (selectable, EVENTS_TYPE_DIRECTORY_ENTRY)) {
#line 8660 "LibraryWindow.c"
		EventsBranch* _tmp19_;
#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp19_ = self->priv->events_branch;
#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp18_ = sidebar_branch_get_show_branch (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, SIDEBAR_TYPE_BRANCH, SidebarBranch));
#line 8666 "LibraryWindow.c"
	} else {
#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp18_ = FALSE;
#line 8670 "LibraryWindow.c"
	}
#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp18_) {
#line 8674 "LibraryWindow.c"
		EventsBranch* _tmp20_;
		EventsMasterDirectoryEntry* _tmp21_;
		EventsMasterDirectoryEntry* _tmp22_;
		Page* _tmp23_;
		Page* _tmp24_;
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp20_ = self->priv->events_branch;
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp21_ = events_branch_get_master_entry (_tmp20_);
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp22_ = _tmp21_;
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp23_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp24_ = _tmp23_;
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_switch_to_page (self, _tmp24_);
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp24_);
#line 1368 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp22_);
#line 1370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (last_import_entry);
#line 1370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 8700 "LibraryWindow.c"
	}
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp25_ = self->priv->library_branch;
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp26_ = library_branch_get_photos_entry (_tmp25_);
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp27_ = _tmp26_;
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp28_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative));
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp29_ = _tmp28_;
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_switch_to_page (self, _tmp29_);
#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp29_);
#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (last_import_entry);
#line 8718 "LibraryWindow.c"
}


static void
_library_window_on_update_properties_view_collection_items_state_changed (ViewCollection* _sender,
                                                                          GeeIterable* changed,
                                                                          gpointer self)
{
#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_update_properties ((LibraryWindow*) self);
#line 8729 "LibraryWindow.c"
}


static void
_library_window_on_update_properties_data_collection_items_altered (DataCollection* _sender,
                                                                    GeeMap* items,
                                                                    gpointer self)
{
#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_update_properties ((LibraryWindow*) self);
#line 8740 "LibraryWindow.c"
}


static void
_library_window_on_update_properties_data_collection_contents_altered (DataCollection* _sender,
                                                                       GeeIterable* added,
                                                                       GeeIterable* removed,
                                                                       gpointer self)
{
#line 1382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_update_properties ((LibraryWindow*) self);
#line 8752 "LibraryWindow.c"
}


static void
_library_window_on_update_properties_view_collection_items_visibility_changed (ViewCollection* _sender,
                                                                               GeeCollection* changed,
                                                                               gpointer self)
{
#line 1383 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_on_update_properties ((LibraryWindow*) self);
#line 8763 "LibraryWindow.c"
}


static void
library_window_subscribe_for_basic_information (LibraryWindow* self,
                                                Page* page)
{
	ViewCollection* view = NULL;
	ViewCollection* _tmp0_;
#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 1378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_get_view (page);
#line 1378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = _tmp0_;
#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (view, "items-state-changed", (GCallback) _library_window_on_update_properties_view_collection_items_state_changed, self, 0);
#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_window_on_update_properties_data_collection_items_altered, self, 0);
#line 1382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _library_window_on_update_properties_data_collection_contents_altered, self, 0);
#line 1383 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_connect_object (view, "items-visibility-changed", (GCallback) _library_window_on_update_properties_view_collection_items_visibility_changed, self, 0);
#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 8791 "LibraryWindow.c"
}


static void
library_window_unsubscribe_from_basic_information (LibraryWindow* self,
                                                   Page* page)
{
	ViewCollection* view = NULL;
	ViewCollection* _tmp0_;
	guint _tmp1_;
	guint _tmp2_;
	guint _tmp3_;
	guint _tmp4_;
#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_PAGE (page));
#line 1387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = page_get_view (page);
#line 1387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	view = _tmp0_;
#line 1389 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("items-state-changed", TYPE_VIEW_COLLECTION, &_tmp1_, NULL, FALSE);
#line 1389 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_window_on_update_properties_view_collection_items_state_changed, self);
#line 1390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE);
#line 1390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_window_on_update_properties_data_collection_items_altered, self);
#line 1391 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE);
#line 1391 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_window_on_update_properties_data_collection_contents_altered, self);
#line 1392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("items-visibility-changed", TYPE_VIEW_COLLECTION, &_tmp4_, NULL, FALSE);
#line 1392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _library_window_on_update_properties_view_collection_items_visibility_changed, self);
#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (view);
#line 8831 "LibraryWindow.c"
}


static void
library_window_on_update_properties (LibraryWindow* self)
{
	OneShotScheduler* _tmp0_;
#line 1395 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->properties_scheduler;
#line 1396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	one_shot_scheduler_at_idle (_tmp0_);
#line 8845 "LibraryWindow.c"
}


static void
library_window_on_update_properties_now (LibraryWindow* self)
{
	GtkFrame* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	ExtendedPropertiesWindow* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->bottom_frame;
#line 1400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 1400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _tmp1_;
#line 1400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp2_) {
#line 8868 "LibraryWindow.c"
		BasicProperties* _tmp3_;
		Page* _tmp4_;
		Page* _tmp5_;
#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = self->priv->basic_properties;
#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = _tmp4_;
#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PROPERTIES, Properties), _tmp5_);
#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp5_);
#line 8882 "LibraryWindow.c"
	}
#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = self->priv->extended_properties;
#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = _tmp7_;
#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp8_) {
#line 8892 "LibraryWindow.c"
		ExtendedPropertiesWindow* _tmp9_;
		Page* _tmp10_;
		Page* _tmp11_;
#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = self->priv->extended_properties;
#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp10_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = _tmp10_;
#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		extended_properties_window_update_properties (_tmp9_, _tmp11_);
#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp11_);
#line 8906 "LibraryWindow.c"
	}
}


static gchar*
string_replace (const gchar* self,
                const gchar* old,
                const gchar* replacement)
{
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (old != NULL, NULL);
#line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (replacement != NULL, NULL);
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if ((*((gchar*) self)) == '\0') {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp1_ = TRUE;
#line 8930 "LibraryWindow.c"
	} else {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp1_ = (*((gchar*) old)) == '\0';
#line 8934 "LibraryWindow.c"
	}
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp1_) {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = TRUE;
#line 8940 "LibraryWindow.c"
	} else {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = g_strcmp0 (old, replacement) == 0;
#line 8944 "LibraryWindow.c"
	}
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 8948 "LibraryWindow.c"
		gchar* _tmp2_;
#line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp2_ = g_strdup (self);
#line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = _tmp2_;
#line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 8956 "LibraryWindow.c"
	}
	{
		GRegex* regex = NULL;
		gchar* _tmp3_;
		gchar* _tmp4_;
		GRegex* _tmp5_;
		GRegex* _tmp6_;
		gchar* _tmp7_ = NULL;
		GRegex* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp3_ = g_regex_escape_string (old, -1);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp4_ = _tmp3_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error_);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp6_ = _tmp5_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_free0 (_tmp4_);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		regex = _tmp6_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 8984 "LibraryWindow.c"
				goto __catch48_g_regex_error;
			}
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_clear_error (&_inner_error_);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			return NULL;
#line 8993 "LibraryWindow.c"
		}
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp8_ = regex;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error_);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp7_ = _tmp9_;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_g_regex_unref0 (regex);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 9007 "LibraryWindow.c"
				goto __catch48_g_regex_error;
			}
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_g_regex_unref0 (regex);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_clear_error (&_inner_error_);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			return NULL;
#line 9018 "LibraryWindow.c"
		}
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp10_ = _tmp7_;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp7_ = NULL;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = _tmp10_;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_free0 (_tmp7_);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_regex_unref0 (regex);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 9032 "LibraryWindow.c"
	}
	goto __finally48;
	__catch48_g_regex_error:
	{
		GError* e = NULL;
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		e = _inner_error_;
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_inner_error_ = NULL;
#line 1429 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_assert_not_reached ();
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_error_free0 (e);
#line 9046 "LibraryWindow.c"
	}
	__finally48:
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_clear_error (&_inner_error_);
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return NULL;
#line 9057 "LibraryWindow.c"
	}
}


void
library_window_mounted_camera_shell_notification (LibraryWindow* self,
                                                  const gchar* uri,
                                                  gboolean at_startup)
{
	GFile* uri_file = NULL;
	GFile* _tmp0_;
	GMount* mount = NULL;
	gchar* alt_uri = NULL;
	GError * _inner_error_ = NULL;
#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (IS_LIBRARY_WINDOW (self));
#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (uri != NULL);
#line 1408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_debug ("LibraryWindow.vala:1408: mount point reported: %s", uri);
#line 1411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (!library_window_is_mount_uri_supported (uri)) {
#line 1412 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:1412: Unsupported mount scheme: %s", uri);
#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 9084 "LibraryWindow.c"
	}
#line 1417 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_file_new_for_uri (uri);
#line 1417 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	uri_file = _tmp0_;
#line 1420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	mount = NULL;
#line 9092 "LibraryWindow.c"
	{
		GMount* _tmp1_ = NULL;
		GFile* _tmp2_;
		GMount* _tmp3_;
		GMount* _tmp4_;
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp2_ = uri_file;
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp3_ = g_file_find_enclosing_mount (_tmp2_, NULL, &_inner_error_);
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = _tmp3_;
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 9106 "LibraryWindow.c"
			goto __catch47_g_error;
		}
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp4_ = _tmp1_;
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = NULL;
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (mount);
#line 1422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		mount = _tmp4_;
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp1_);
#line 9119 "LibraryWindow.c"
	}
	goto __finally47;
	__catch47_g_error:
	{
		GError* err = NULL;
		GError* _tmp5_;
		const gchar* _tmp6_;
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		err = _inner_error_;
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_inner_error_ = NULL;
#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = err;
#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = _tmp5_->message;
#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_debug ("LibraryWindow.vala:1424: %s", _tmp6_);
#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_error_free0 (err);
#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (mount);
#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (uri_file);
#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 9145 "LibraryWindow.c"
	}
	__finally47:
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (mount);
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (uri_file);
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_clear_error (&_inner_error_);
#line 1421 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return;
#line 9160 "LibraryWindow.c"
	}
#line 1430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	alt_uri = NULL;
#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (g_str_has_prefix (uri, "file://")) {
#line 9166 "LibraryWindow.c"
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
#line 1432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp7_ = string_replace (uri, "file://", "disk:");
#line 1432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp8_ = _tmp7_;
#line 1432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp9_ = camera_table_get_port_uri (_tmp8_);
#line 1432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_free0 (alt_uri);
#line 1432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		alt_uri = _tmp9_;
#line 1432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_free0 (_tmp8_);
#line 9182 "LibraryWindow.c"
	}
#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (at_startup) {
#line 9186 "LibraryWindow.c"
		const gchar* _tmp11_;
#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (!is_string_empty (uri)) {
#line 9190 "LibraryWindow.c"
			GeeHashSet* _tmp10_;
#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp10_ = library_window_initial_camera_uris;
#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), uri);
#line 9196 "LibraryWindow.c"
		}
#line 1439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp11_ = alt_uri;
#line 1439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		if (!is_string_empty (_tmp11_)) {
#line 9202 "LibraryWindow.c"
			GeeHashSet* _tmp12_;
			const gchar* _tmp13_;
#line 1440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp12_ = library_window_initial_camera_uris;
#line 1440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp13_ = alt_uri;
#line 1440 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_);
#line 9211 "LibraryWindow.c"
		}
	}
#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (alt_uri);
#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (mount);
#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (uri_file);
#line 9220 "LibraryWindow.c"
}


static gboolean
library_window_real_key_press_event (GtkWidget* base,
                                     GdkEventKey* event)
{
	LibraryWindow * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	SidebarTree* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	guint _tmp8_;
	const gchar* _tmp9_;
#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->sidebar_tree;
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), "has-focus", &_tmp3_, NULL);
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = _tmp3_;
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp4_) {
#line 9249 "LibraryWindow.c"
		SidebarTree* _tmp5_;
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp5_ = self->priv->sidebar_tree;
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = sidebar_tree_is_keypress_interpreted (_tmp5_, event);
#line 9255 "LibraryWindow.c"
	} else {
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp1_ = FALSE;
#line 9259 "LibraryWindow.c"
	}
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp1_) {
#line 9263 "LibraryWindow.c"
		SidebarTree* _tmp6_;
		gboolean _tmp7_ = FALSE;
#line 1446 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp6_ = self->priv->sidebar_tree;
#line 1446 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), "key-press-event", event, &_tmp7_);
#line 1446 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = _tmp7_;
#line 9272 "LibraryWindow.c"
	} else {
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp0_ = FALSE;
#line 9276 "LibraryWindow.c"
	}
#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp0_) {
#line 1447 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 1447 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 9284 "LibraryWindow.c"
	}
#line 1450 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (GTK_WIDGET_CLASS (library_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget), event)) {
#line 1451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 1451 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 9292 "LibraryWindow.c"
	}
#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = event->keyval;
#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = gdk_keyval_name (_tmp8_);
#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (g_strcmp0 (_tmp9_, "Escape") == 0) {
#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_on_clear_search (self);
#line 1455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		result = TRUE;
#line 1455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		return result;
#line 9306 "LibraryWindow.c"
	}
#line 1458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = FALSE;
#line 1458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 9312 "LibraryWindow.c"
}


gint
library_window_get_PAGE_MIN_WIDTH (void)
{
	gint result;
	gint _tmp0_;
	gint _tmp1_;
#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = thumbnail_get_MAX_SCALE ();
#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _tmp0_;
#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	result = _tmp1_ + (CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING * 2);
#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return result;
#line 9330 "LibraryWindow.c"
}


static gpointer
_data_collection_ref0 (gpointer self)
{
#line 79 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return self ? data_collection_ref (self) : NULL;
#line 9339 "LibraryWindow.c"
}


static LibraryWindowFullscreenPhotoPage*
library_window_fullscreen_photo_page_construct (GType object_type,
                                                CollectionPage* collection,
                                                Photo* start,
                                                ViewCollection* view)
{
	LibraryWindowFullscreenPhotoPage * self = NULL;
	CollectionPage* _tmp0_;
	Photo* _tmp1_;
	ViewCollection* _tmp2_;
#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (collection), NULL);
#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail (IS_PHOTO (start), NULL);
#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_val_if_fail ((view == NULL) || IS_VIEW_COLLECTION (view), NULL);
#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = (LibraryWindowFullscreenPhotoPage*) library_photo_page_construct (object_type);
#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = _g_object_ref0 (collection);
#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->collection);
#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->collection = _tmp0_;
#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = _g_object_ref0 (start);
#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->start);
#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->start = _tmp1_;
#line 79 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = _data_collection_ref0 (view);
#line 79 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (self->priv->view);
#line 79 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->view = _tmp2_;
#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return self;
#line 9381 "LibraryWindow.c"
}


static LibraryWindowFullscreenPhotoPage*
library_window_fullscreen_photo_page_new (CollectionPage* collection,
                                          Photo* start,
                                          ViewCollection* view)
{
#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	return library_window_fullscreen_photo_page_construct (LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, collection, start, view);
#line 9392 "LibraryWindow.c"
}


static void
library_window_fullscreen_photo_page_real_switched_to (Page* base)
{
	LibraryWindowFullscreenPhotoPage * self;
	CollectionPage* _tmp0_;
	Photo* _tmp1_;
	ViewCollection* _tmp2_;
#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
#line 83 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->collection;
#line 83 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = self->priv->start;
#line 83 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->view;
#line 83 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_photo_page_display_for_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage), _tmp0_, _tmp1_, _tmp2_);
#line 85 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	PAGE_CLASS (library_window_fullscreen_photo_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage), TYPE_PAGE, Page));
#line 9415 "LibraryWindow.c"
}


static void
library_window_fullscreen_photo_page_real_switching_from (Page* base)
{
	LibraryWindowFullscreenPhotoPage * self;
#line 88 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
#line 9425 "LibraryWindow.c"
}


static void
library_window_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base,
                                                                     GeeList* ui_filenames)
{
	LibraryWindowFullscreenPhotoPage * self;
#line 91 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
#line 91 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_return_if_fail (GEE_IS_LIST (ui_filenames));
#line 94 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (ui_filenames, GEE_TYPE_COLLECTION, GeeCollection), "photo_context.ui");
#line 9440 "LibraryWindow.c"
}


static void
library_window_fullscreen_photo_page_class_init (LibraryWindowFullscreenPhotoPageClass * klass)
{
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_fullscreen_photo_page_parent_class = g_type_class_peek_parent (klass);
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_type_class_add_private (klass, sizeof (LibraryWindowFullscreenPhotoPagePrivate));
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((PageClass *) klass)->switched_to = (void (*) (Page *)) library_window_fullscreen_photo_page_real_switched_to;
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((PageClass *) klass)->switching_from = (void (*) (Page *)) library_window_fullscreen_photo_page_real_switching_from;
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((PageClass *) klass)->init_collect_ui_filenames = (void (*) (Page *, GeeList*)) library_window_fullscreen_photo_page_real_init_collect_ui_filenames;
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	G_OBJECT_CLASS (klass)->finalize = library_window_fullscreen_photo_page_finalize;
#line 9459 "LibraryWindow.c"
}


static void
library_window_fullscreen_photo_page_instance_init (LibraryWindowFullscreenPhotoPage * self)
{
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv = LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_PRIVATE (self);
#line 9468 "LibraryWindow.c"
}


static void
library_window_fullscreen_photo_page_finalize (GObject * obj)
{
	LibraryWindowFullscreenPhotoPage * self;
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage);
#line 72 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->collection);
#line 73 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->start);
#line 74 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_data_collection_unref0 (self->priv->view);
#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	G_OBJECT_CLASS (library_window_fullscreen_photo_page_parent_class)->finalize (obj);
#line 9486 "LibraryWindow.c"
}


static GType
library_window_fullscreen_photo_page_get_type (void)
{
	static volatile gsize library_window_fullscreen_photo_page_type_id__volatile = 0;
	if (g_once_init_enter (&library_window_fullscreen_photo_page_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LibraryWindowFullscreenPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_window_fullscreen_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryWindowFullscreenPhotoPage), 0, (GInstanceInitFunc) library_window_fullscreen_photo_page_instance_init, NULL };
		GType library_window_fullscreen_photo_page_type_id;
		library_window_fullscreen_photo_page_type_id = g_type_register_static (TYPE_LIBRARY_PHOTO_PAGE, "LibraryWindowFullscreenPhotoPage", &g_define_type_info, 0);
		g_once_init_leave (&library_window_fullscreen_photo_page_type_id__volatile, library_window_fullscreen_photo_page_type_id);
	}
	return library_window_fullscreen_photo_page_type_id__volatile;
}


static void
library_window_class_init (LibraryWindowClass * klass)
{
	GeeHashSet* _tmp0_;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_parent_class = g_type_class_peek_parent (klass);
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_type_class_add_private (klass, sizeof (LibraryWindowPrivate));
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((AppWindowClass *) klass)->add_actions = (void (*) (AppWindow *)) library_window_real_add_actions;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((PageWindowClass *) klass)->switched_pages = (void (*) (PageWindow *, Page*, Page*)) library_window_real_switched_pages;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((GtkWidgetClass *) klass)->show_all = (void (*) (GtkWidget *)) library_window_real_show_all;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((AppWindowClass *) klass)->get_app_role = (gchar* (*) (AppWindow *)) library_window_real_get_app_role;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((AppWindowClass *) klass)->on_quit = (void (*) (AppWindow *)) library_window_real_on_quit;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((AppWindowClass *) klass)->on_fullscreen = (void (*) (AppWindow *)) library_window_real_on_fullscreen;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((AppWindowClass *) klass)->update_common_action_availability = (void (*) (AppWindow *, Page*, Page*)) library_window_real_update_common_action_availability;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((AppWindowClass *) klass)->update_common_actions = (void (*) (AppWindow *, Page*, gint, gint)) library_window_real_update_common_actions;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((GtkWidgetClass *) klass)->drag_motion = (gboolean (*) (GtkWidget *, GdkDragContext*, gint, gint, guint)) library_window_real_drag_motion;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((GtkWidgetClass *) klass)->drag_data_received = (void (*) (GtkWidget *, GdkDragContext*, gint, gint, GtkSelectionData*, guint, guint)) library_window_real_drag_data_received;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((PageWindowClass *) klass)->set_current_page = (void (*) (PageWindow *, Page*)) library_window_real_set_current_page;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	((GtkWidgetClass *) klass)->key_press_event = (gboolean (*) (GtkWidget *, GdkEventKey*)) library_window_real_key_press_event;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_library_window_get_property;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	G_OBJECT_CLASS (klass)->finalize = library_window_finalize;
#line 123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL);
#line 123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_initial_camera_uris = _tmp0_;
#line 9544 "LibraryWindow.c"
}


static void
library_window_instance_init (LibraryWindow * self)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
	GtkPaned* _tmp2_;
	GtkPaned* _tmp3_;
	GtkFrame* _tmp4_;
	LibraryBranch* _tmp5_;
	TagsBranch* _tmp6_;
	FoldersBranch* _tmp7_;
	EventsBranch* _tmp8_;
	CameraBranch* _tmp9_;
	SearchesBranch* _tmp10_;
	GeeHashMap* _tmp11_;
	SearchFilterActions* _tmp12_;
	GtkBox* _tmp13_;
	GtkFrame* _tmp14_;
	GtkProgressBar* _tmp15_;
	BasicProperties* _tmp16_;
	GtkStack* _tmp17_;
	GtkBox* _tmp18_;
	GtkRevealer* _tmp19_;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv = LIBRARY_WINDOW_GET_PRIVATE (self);
#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = g_get_home_dir ();
#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->import_dir = _tmp1_;
#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->import_recursive = TRUE;
#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_VERTICAL);
#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp2_);
#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->sidebar_paned = _tmp2_;
#line 102 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp3_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
#line 102 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp3_);
#line 102 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->client_paned = _tmp3_;
#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = (GtkFrame*) gtk_frame_new (NULL);
#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp4_);
#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->bottom_frame = _tmp4_;
#line 105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->properties_scheduler = NULL;
#line 106 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->notify_library_is_home_dir = TRUE;
#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp5_ = library_branch_new ();
#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->library_branch = _tmp5_;
#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = tags_branch_new ();
#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->tags_branch = _tmp6_;
#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp7_ = folders_branch_new ();
#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->folders_branch = _tmp7_;
#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = events_branch_new ();
#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->events_branch = _tmp8_;
#line 114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = camera_branch_new ();
#line 114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->camera_branch = _tmp9_;
#line 115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = searches_branch_new ();
#line 115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->saved_search_branch = _tmp10_;
#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->page_switching_enabled = TRUE;
#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp11_ = gee_hash_map_new (TYPE_PAGE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, SIDEBAR_TYPE_ENTRY, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->page_map = _tmp11_;
#line 120 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->photo_page = NULL;
#line 125 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->is_search_toolbar_visible = FALSE;
#line 130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = search_filter_actions_new ();
#line 130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->search_actions = _tmp12_;
#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp13_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp13_);
#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->top_section = _tmp13_;
#line 134 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp14_ = (GtkFrame*) gtk_frame_new (NULL);
#line 134 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp14_);
#line 134 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->background_progress_frame = _tmp14_;
#line 135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp15_ = (GtkProgressBar*) gtk_progress_bar_new ();
#line 135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp15_);
#line 135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->background_progress_bar = _tmp15_;
#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->background_progress_displayed = FALSE;
#line 138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp16_ = basic_properties_new ();
#line 138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp16_);
#line 138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->basic_properties = _tmp16_;
#line 141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp17_ = (GtkStack*) gtk_stack_new ();
#line 141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp17_);
#line 141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->stack = _tmp17_;
#line 142 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#line 142 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp18_);
#line 142 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->layout = _tmp18_;
#line 144 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp19_ = (GtkRevealer*) gtk_revealer_new ();
#line 144 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_object_ref_sink (_tmp19_);
#line 144 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->toolbar_revealer = _tmp19_;
#line 146 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->current_progress_priority = 0;
#line 147 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self->priv->background_progress_pulse_id = (guint) 0;
#line 9689 "LibraryWindow.c"
}


static void
library_window_finalize (GObject * obj)
{
	LibraryWindow * self;
	SidebarTree* _tmp0_;
	guint _tmp1_;
	SidebarTree* _tmp2_;
	guint _tmp3_;
	SidebarTree* _tmp4_;
	guint _tmp5_;
	SidebarTree* _tmp6_;
	guint _tmp7_;
	Page* _tmp8_;
	Page* _tmp9_;
	ExtendedPropertiesWindow* _tmp10_;
	guint _tmp11_;
	ExtendedPropertiesWindow* _tmp12_;
	guint _tmp13_;
	MetadataWriter* _tmp27_;
	MetadataWriter* _tmp28_;
	guint _tmp29_;
	LibraryMonitor* monitor = NULL;
	LibraryMonitorPool* _tmp30_;
	LibraryMonitorPool* _tmp31_;
	LibraryMonitor* _tmp32_;
	LibraryMonitor* _tmp33_;
	LibraryMonitor* _tmp34_;
	LibraryMonitorPool* _tmp36_;
	LibraryMonitorPool* _tmp37_;
	guint _tmp38_;
	LibraryMonitorPool* _tmp39_;
	LibraryMonitorPool* _tmp40_;
	guint _tmp41_;
	CameraTable* _tmp42_;
	CameraTable* _tmp43_;
	guint _tmp44_;
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp0_ = self->priv->sidebar_tree;
#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("page-created", SIDEBAR_TYPE_TREE, &_tmp1_, NULL, FALSE);
#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_window_on_page_created_sidebar_tree_page_created, self);
#line 225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp2_ = self->priv->sidebar_tree;
#line 225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("destroying-page", SIDEBAR_TYPE_TREE, &_tmp3_, NULL, FALSE);
#line 225 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_window_on_destroying_page_sidebar_tree_destroying_page, self);
#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp4_ = self->priv->sidebar_tree;
#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("entry-selected", SIDEBAR_TYPE_TREE, &_tmp5_, NULL, FALSE);
#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected, self);
#line 227 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp6_ = self->priv->sidebar_tree;
#line 227 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("selected-entry-removed", SIDEBAR_TYPE_TREE, &_tmp7_, NULL, FALSE);
#line 227 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed, self);
#line 229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp8_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow));
#line 229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp9_ = _tmp8_;
#line 229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	library_window_unsubscribe_from_basic_information (self, _tmp9_);
#line 229 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp9_);
#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp10_ = self->priv->extended_properties;
#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("hide", gtk_widget_get_type (), &_tmp11_, NULL, FALSE);
#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_window_hide_extended_properties_gtk_widget_hide, self);
#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp12_ = self->priv->extended_properties;
#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("show", gtk_widget_get_type (), &_tmp13_, NULL, FALSE);
#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _library_window_show_extended_properties_gtk_widget_show, self);
#line 9775 "LibraryWindow.c"
	{
		GeeIterator* _media_sources_it = NULL;
		MediaCollectionRegistry* _tmp14_;
		MediaCollectionRegistry* _tmp15_;
		GeeCollection* _tmp16_;
		GeeCollection* _tmp17_;
		GeeIterator* _tmp18_;
		GeeIterator* _tmp19_;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp14_ = media_collection_registry_get_instance ();
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp15_ = _tmp14_;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp16_ = media_collection_registry_get_all (_tmp15_);
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp17_ = _tmp16_;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable));
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp19_ = _tmp18_;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_tmp17_);
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_media_collection_registry_unref0 (_tmp15_);
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_media_sources_it = _tmp19_;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		while (TRUE) {
#line 9804 "LibraryWindow.c"
			GeeIterator* _tmp20_;
			MediaSourceCollection* media_sources = NULL;
			GeeIterator* _tmp21_;
			gpointer _tmp22_;
			MediaSourceCollection* _tmp23_;
			guint _tmp24_;
			MediaSourceCollection* _tmp25_;
			guint _tmp26_;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp20_ = _media_sources_it;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			if (!gee_iterator_next (_tmp20_)) {
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
				break;
#line 9819 "LibraryWindow.c"
			}
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp21_ = _media_sources_it;
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp22_ = gee_iterator_get (_tmp21_);
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			media_sources = (MediaSourceCollection*) _tmp22_;
#line 235 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp23_ = media_sources;
#line 235 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp24_, NULL, FALSE);
#line 235 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			g_signal_handlers_disconnect_matched (_tmp23_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp24_, 0, NULL, (GCallback) _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self);
#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_tmp25_ = media_sources;
#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp26_, NULL, FALSE);
#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _library_window_on_media_altered_data_collection_items_altered, self);
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
			_data_collection_unref0 (media_sources);
#line 9841 "LibraryWindow.c"
		}
#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_g_object_unref0 (_media_sources_it);
#line 9845 "LibraryWindow.c"
	}
#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp27_ = metadata_writer_get_instance ();
#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp28_ = _tmp27_;
#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("progress", TYPE_METADATA_WRITER, &_tmp29_, NULL, FALSE);
#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp28_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp29_, 0, NULL, (GCallback) _library_window_on_metadata_writer_progress_metadata_writer_progress, self);
#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (_tmp28_);
#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp30_ = library_monitor_pool_get_instance ();
#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp31_ = _tmp30_;
#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp32_ = library_monitor_pool_get_monitor (_tmp31_);
#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp33_ = _tmp32_;
#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_library_monitor_pool_unref0 (_tmp31_);
#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	monitor = _tmp33_;
#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp34_ = monitor;
#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	if (_tmp34_ != NULL) {
#line 9873 "LibraryWindow.c"
		LibraryMonitor* _tmp35_;
#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		_tmp35_ = monitor;
#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		library_window_on_library_monitor_destroyed (self, _tmp35_);
#line 9879 "LibraryWindow.c"
	}
#line 245 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp36_ = library_monitor_pool_get_instance ();
#line 245 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp37_ = _tmp36_;
#line 245 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("monitor-installed", TYPE_LIBRARY_MONITOR_POOL, &_tmp38_, NULL, FALSE);
#line 245 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp37_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp38_, 0, NULL, (GCallback) _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed, self);
#line 245 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_library_monitor_pool_unref0 (_tmp37_);
#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp39_ = library_monitor_pool_get_instance ();
#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp40_ = _tmp39_;
#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("monitor-destroyed", TYPE_LIBRARY_MONITOR_POOL, &_tmp41_, NULL, FALSE);
#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp40_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp41_, 0, NULL, (GCallback) _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed, self);
#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_library_monitor_pool_unref0 (_tmp40_);
#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp42_ = camera_table_get_instance ();
#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_tmp43_ = _tmp42_;
#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_parse_name ("camera-added", TYPE_CAMERA_TABLE, &_tmp44_, NULL, FALSE);
#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	g_signal_handlers_disconnect_matched (_tmp43_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp44_, 0, NULL, (GCallback) _library_window_on_camera_added_camera_table_camera_added, self);
#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_camera_table_unref0 (_tmp43_);
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (monitor);
#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_free0 (self->priv->import_dir);
#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->sidebar_paned);
#line 102 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->client_paned);
#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->bottom_frame);
#line 105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_one_shot_scheduler_unref0 (self->priv->properties_scheduler);
#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->sidebar_tree);
#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->library_branch);
#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->tags_branch);
#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->folders_branch);
#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->events_branch);
#line 114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->camera_branch);
#line 115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->saved_search_branch);
#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->page_map);
#line 120 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->photo_page);
#line 130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_search_filter_actions_unref0 (self->priv->search_actions);
#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->search_toolbar);
#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->top_section);
#line 134 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->background_progress_frame);
#line 135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->background_progress_bar);
#line 138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->basic_properties);
#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->extended_properties);
#line 141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->stack);
#line 142 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->layout);
#line 143 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->right_vbox);
#line 144 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	_g_object_unref0 (self->priv->toolbar_revealer);
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	G_OBJECT_CLASS (library_window_parent_class)->finalize (obj);
#line 9965 "LibraryWindow.c"
}


GType
library_window_get_type (void)
{
	static volatile gsize library_window_type_id__volatile = 0;
	if (g_once_init_enter (&library_window_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LibraryWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryWindow), 0, (GInstanceInitFunc) library_window_instance_init, NULL };
		GType library_window_type_id;
		library_window_type_id = g_type_register_static (TYPE_APP_WINDOW, "LibraryWindow", &g_define_type_info, 0);
		g_once_init_leave (&library_window_type_id__volatile, library_window_type_id);
	}
	return library_window_type_id__volatile;
}


static void
_vala_library_window_get_property (GObject * object,
                                   guint property_id,
                                   GValue * value,
                                   GParamSpec * pspec)
{
	LibraryWindow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
	switch (property_id) {
#line 9993 "LibraryWindow.c"
		default:
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala"
		break;
#line 9999 "LibraryWindow.c"
	}
}


static void
_vala_array_destroy (gpointer array,
                     gint array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void
_vala_array_free (gpointer array,
                  gint array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint
_vala_array_length (gpointer array)
{
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}