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

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

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gee.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <glib/gi18n-lib.h>
#include "shotwell-graphics-processor.h"
#include <time.h>


#define TYPE_VIEW_MANAGER (view_manager_get_type ())
#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))

typedef struct _ViewManager ViewManager;
typedef struct _ViewManagerClass ViewManagerClass;
typedef struct _ViewManagerPrivate ViewManagerPrivate;

#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_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_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))

typedef struct _CollectionViewManager CollectionViewManager;
typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate;

#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_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_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _PagePrivate PagePrivate;

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

typedef struct _PageWindow PageWindow;
typedef struct _PageWindowClass PageWindowClass;

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

typedef struct _FullscreenWindow FullscreenWindow;
typedef struct _FullscreenWindowClass FullscreenWindowClass;

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

typedef struct _InjectionGroup InjectionGroup;
typedef struct _InjectionGroupClass InjectionGroupClass;
typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;

#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))

typedef struct _ThumbnailView ThumbnailView;
typedef struct _ThumbnailViewClass ThumbnailViewClass;

#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))

typedef struct _CheckerboardItem CheckerboardItem;
typedef struct _CheckerboardItemClass CheckerboardItemClass;

#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())

#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;

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

typedef struct _ViewFilter ViewFilter;
typedef struct _ViewFilterClass ViewFilterClass;

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

typedef struct _SearchViewFilter SearchViewFilter;
typedef struct _SearchViewFilterClass SearchViewFilterClass;

#define CORE_TYPE_TRACKER (core_tracker_get_type ())
#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))

typedef struct _CoreTracker CoreTracker;
typedef struct _CoreTrackerClass CoreTrackerClass;

#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))

typedef struct _CoreViewTracker CoreViewTracker;
typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
typedef struct _MediaPagePrivate MediaPagePrivate;

#define TYPE_RATING (rating_get_type ())

#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
typedef struct _CollectionPagePrivate CollectionPagePrivate;

#define TYPE_EXPORTER_UI (exporter_ui_get_type ())
#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI))
#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass))
#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI))
#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI))
#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass))

typedef struct _ExporterUI ExporterUI;
typedef struct _ExporterUIClass ExporterUIClass;

#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ())
#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter))
#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))

typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter;
typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass;

#define COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER (collection_page_collection_search_view_filter_get_type ())
#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter))
#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass))
#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER))
#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER))
#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass))

typedef struct _CollectionPageCollectionSearchViewFilter CollectionPageCollectionSearchViewFilter;
typedef struct _CollectionPageCollectionSearchViewFilterClass CollectionPageCollectionSearchViewFilterClass;
#define _exporter_ui_unref0(var) ((var == NULL) ? NULL : (var = (exporter_ui_unref (var), NULL)))
#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_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_VIEW_COLLECTION (view_collection_get_type ())
#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))

typedef struct _ViewCollection ViewCollection;
typedef struct _ViewCollectionClass ViewCollectionClass;

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

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

#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))

typedef struct _ConfigurationFacade ConfigurationFacade;
typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;

#define CONFIG_TYPE_FACADE (config_facade_get_type ())
#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))

typedef struct _ConfigFacade ConfigFacade;
typedef struct _ConfigFacadeClass ConfigFacadeClass;

#define MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY (media_page_zoom_slider_assembly_get_type ())
#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssembly))
#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyClass))
#define MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY))
#define MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY))
#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyClass))

typedef struct _MediaPageZoomSliderAssembly MediaPageZoomSliderAssembly;
typedef struct _MediaPageZoomSliderAssemblyClass MediaPageZoomSliderAssemblyClass;
#define _injection_group_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_unref (var), NULL)))

#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_APP_WINDOW (app_window_get_type ())
#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))

typedef struct _AppWindow AppWindow;
typedef struct _AppWindowClass AppWindowClass;

#define TYPE_VIDEO_SOURCE (video_source_get_type ())
#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource))
#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass))
#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE))
#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE))
#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass))

typedef struct _VideoSource VideoSource;
typedef struct _VideoSourceClass VideoSourceClass;

#define TYPE_VIDEO (video_get_type ())
#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video))
#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass))
#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO))
#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO))
#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass))

typedef struct _Video Video;
typedef struct _VideoClass VideoClass;
#define _g_free0(var) (var = (g_free (var), NULL))

#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_PHOTO_FILE_FORMAT (photo_file_format_get_type ())
#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL)))

#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_PRINT_MANAGER (print_manager_get_type ())
#define PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_MANAGER, PrintManager))
#define PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_MANAGER, PrintManagerClass))
#define IS_PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_MANAGER))
#define IS_PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_MANAGER))
#define PRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_MANAGER, PrintManagerClass))

typedef struct _PrintManager PrintManager;
typedef struct _PrintManagerClass PrintManagerClass;
#define _print_manager_unref0(var) ((var == NULL) ? NULL : (var = (print_manager_unref (var), NULL)))

#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ())
#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem))
#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))
#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM))
#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM))
#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))

typedef struct _MediaSourceItem MediaSourceItem;
typedef struct _MediaSourceItemClass MediaSourceItemClass;

#define TYPE_THUMBNAIL (thumbnail_get_type ())
#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail))
#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass))
#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL))
#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL))
#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass))

typedef struct _Thumbnail Thumbnail;
typedef struct _ThumbnailClass ThumbnailClass;

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

typedef struct _LibraryWindow LibraryWindow;
typedef struct _LibraryWindowClass LibraryWindowClass;

#define TYPE_EXPORTER (exporter_get_type ())
#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter))
#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass))
#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER))
#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER))
#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass))

typedef struct _Exporter Exporter;
typedef struct _ExporterClass ExporterClass;

#define TYPE_EXPORT_DIALOG (export_dialog_get_type ())
#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog))
#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass))
#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG))
#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG))
#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass))

typedef struct _ExportDialog ExportDialog;
typedef struct _ExportDialogClass ExportDialogClass;

#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ())

#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ())

#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ())
typedef struct _ExportFormatParameters ExportFormatParameters;

#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ())

#define TYPE_SCALING (scaling_get_type ())

#define TYPE_DIMENSIONS (dimensions_get_type ())
typedef struct _Dimensions Dimensions;
typedef struct _Scaling Scaling;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define TYPE_COMMAND (command_get_type ())
#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))

typedef struct _Command Command;
typedef struct _CommandClass CommandClass;

#define TYPE_PAGE_COMMAND (page_command_get_type ())
#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))

typedef struct _PageCommand PageCommand;
typedef struct _PageCommandClass PageCommandClass;

#define TYPE_MULTIPLE_DATA_SOURCE_COMMAND (multiple_data_source_command_get_type ())
#define MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand))
#define MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass))
#define IS_MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND))
#define IS_MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND))
#define MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass))

typedef struct _MultipleDataSourceCommand MultipleDataSourceCommand;
typedef struct _MultipleDataSourceCommandClass MultipleDataSourceCommandClass;

#define TYPE_ROTATE_MULTIPLE_COMMAND (rotate_multiple_command_get_type ())
#define ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand))
#define ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass))
#define IS_ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_MULTIPLE_COMMAND))
#define IS_ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_MULTIPLE_COMMAND))
#define ROTATE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass))

typedef struct _RotateMultipleCommand RotateMultipleCommand;
typedef struct _RotateMultipleCommandClass RotateMultipleCommandClass;

#define TYPE_ROTATION (rotation_get_type ())

#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_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND (multiple_photo_transformation_command_get_type ())
#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommand))
#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass))
#define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND))
#define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND))
#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass))

typedef struct _MultiplePhotoTransformationCommand MultiplePhotoTransformationCommand;
typedef struct _MultiplePhotoTransformationCommandClass MultiplePhotoTransformationCommandClass;

#define TYPE_REVERT_MULTIPLE_COMMAND (revert_multiple_command_get_type ())
#define REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommand))
#define REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass))
#define IS_REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_MULTIPLE_COMMAND))
#define IS_REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_MULTIPLE_COMMAND))
#define REVERT_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass))

typedef struct _RevertMultipleCommand RevertMultipleCommand;
typedef struct _RevertMultipleCommandClass RevertMultipleCommandClass;
#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL)))

#define TYPE_ADJUST_COLORS_MULTIPLE_COMMAND (adjust_colors_multiple_command_get_type ())
#define ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommand))
#define ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass))
#define IS_ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND))
#define IS_ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND))
#define ADJUST_COLORS_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass))

typedef struct _AdjustColorsMultipleCommand AdjustColorsMultipleCommand;
typedef struct _AdjustColorsMultipleCommandClass AdjustColorsMultipleCommandClass;

#define TYPE_ENHANCE_MULTIPLE_COMMAND (enhance_multiple_command_get_type ())
#define ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommand))
#define ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass))
#define IS_ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND))
#define IS_ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND))
#define ENHANCE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass))

typedef struct _EnhanceMultipleCommand EnhanceMultipleCommand;
typedef struct _EnhanceMultipleCommandClass EnhanceMultipleCommandClass;

#define TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND (duplicate_multiple_photos_command_get_type ())
#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand))
#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass))
#define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND))
#define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND))
#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass))

typedef struct _DuplicateMultiplePhotosCommand DuplicateMultiplePhotosCommand;
typedef struct _DuplicateMultiplePhotosCommandClass DuplicateMultiplePhotosCommandClass;

#define TYPE_DATEABLE (dateable_get_type ())
#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable))
#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE))
#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface))

typedef struct _Dateable Dateable;
typedef struct _DateableIface DateableIface;

#define TYPE_ADJUST_DATE_TIME_DIALOG (adjust_date_time_dialog_get_type ())
#define ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialog))
#define ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass))
#define IS_ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_DIALOG))
#define IS_ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_DIALOG))
#define ADJUST_DATE_TIME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass))

typedef struct _AdjustDateTimeDialog AdjustDateTimeDialog;
typedef struct _AdjustDateTimeDialogClass AdjustDateTimeDialogClass;

#define TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND (adjust_date_time_photos_command_get_type ())
#define ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand))
#define ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass))
#define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND))
#define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND))
#define ADJUST_DATE_TIME_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass))

typedef struct _AdjustDateTimePhotosCommand AdjustDateTimePhotosCommand;
typedef struct _AdjustDateTimePhotosCommandClass AdjustDateTimePhotosCommandClass;

#define TYPE_SET_BACKGROUND_PHOTO_DIALOG (set_background_photo_dialog_get_type ())
#define SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialog))
#define SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass))
#define IS_SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG))
#define IS_SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG))
#define SET_BACKGROUND_PHOTO_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass))

typedef struct _SetBackgroundPhotoDialog SetBackgroundPhotoDialog;
typedef struct _SetBackgroundPhotoDialogClass SetBackgroundPhotoDialogClass;

#define TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG (set_background_slideshow_dialog_get_type ())
#define SET_BACKGROUND_SLIDESHOW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialog))
#define SET_BACKGROUND_SLIDESHOW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogClass))
#define IS_SET_BACKGROUND_SLIDESHOW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG))
#define IS_SET_BACKGROUND_SLIDESHOW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG))
#define SET_BACKGROUND_SLIDESHOW_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogClass))

typedef struct _SetBackgroundSlideshowDialog SetBackgroundSlideshowDialog;
typedef struct _SetBackgroundSlideshowDialogClass SetBackgroundSlideshowDialogClass;

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

typedef struct _SourceCollection SourceCollection;
typedef struct _SourceCollectionClass SourceCollectionClass;

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

typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;

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

typedef struct _MediaSourceCollection MediaSourceCollection;
typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;

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

typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;

#define TYPE_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_SLIDESHOW_PAGE (slideshow_page_get_type ())
#define SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPage))
#define SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDESHOW_PAGE, SlideshowPageClass))
#define IS_SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDESHOW_PAGE))
#define IS_SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDESHOW_PAGE))
#define SLIDESHOW_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPageClass))

typedef struct _SlideshowPage SlideshowPage;
typedef struct _SlideshowPageClass SlideshowPageClass;
typedef struct _ViewFilterPrivate ViewFilterPrivate;
typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;
typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate;
typedef struct _CollectionPageCollectionSearchViewFilterPrivate CollectionPageCollectionSearchViewFilterPrivate;

#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _ViewManager {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ViewManagerPrivate * priv;
};

struct _ViewManagerClass {
	GTypeClass parent_class;
	void (*finalize) (ViewManager *self);
	gboolean (*include_in_view) (ViewManager* self, DataSource* source);
	DataView* (*create_view) (ViewManager* self, DataSource* source);
};

struct _CollectionViewManager {
	ViewManager parent_instance;
	CollectionViewManagerPrivate * priv;
};

struct _CollectionViewManagerClass {
	ViewManagerClass parent_class;
};

struct _CollectionViewManagerPrivate {
	CollectionPage* page;
};

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  {
	CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
	CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
} CheckerboardPageActivator;

struct _CheckerboardPageKeyboardModifiers {
	gboolean ctrl_pressed;
	gboolean alt_pressed;
	gboolean shift_pressed;
	gboolean super_pressed;
};

struct _CheckerboardPage {
	Page parent_instance;
	CheckerboardPagePrivate * priv;
	CheckerboardItem* anchor;
	CheckerboardItem* cursor;
};

struct _CheckerboardPageClass {
	PageClass parent_class;
	GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
	gchar* (*get_view_empty_message) (CheckerboardPage* self);
	gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
	void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
	SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
	CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
	gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
	void (*set_display_titles) (CheckerboardPage* self, gboolean display);
	void (*set_display_comments) (CheckerboardPage* self, gboolean display);
};

typedef enum  {
	RATING_REJECTED = -1,
	RATING_UNRATED = 0,
	RATING_ONE = 1,
	RATING_TWO = 2,
	RATING_THREE = 3,
	RATING_FOUR = 4,
	RATING_FIVE = 5
} Rating;

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

struct _MediaPage {
	CheckerboardPage parent_instance;
	MediaPagePrivate * priv;
};

struct _MediaPageClass {
	CheckerboardPageClass parent_class;
	void (*on_zoom_changed) (MediaPage* self);
	void (*on_export) (MediaPage* self);
	void (*on_increase_size) (MediaPage* self);
	void (*on_decrease_size) (MediaPage* self);
	void (*on_increase_rating) (MediaPage* self);
	void (*on_decrease_rating) (MediaPage* self);
	void (*on_set_rating) (MediaPage* self, Rating rating);
	void (*on_rate_rejected) (MediaPage* self);
	void (*on_rate_unrated) (MediaPage* self);
	void (*on_rate_one) (MediaPage* self);
	void (*on_rate_two) (MediaPage* self);
	void (*on_rate_three) (MediaPage* self);
	void (*on_rate_four) (MediaPage* self);
	void (*on_rate_five) (MediaPage* self);
	void (*on_move_to_trash) (MediaPage* self);
	void (*on_edit_title) (MediaPage* self);
	void (*on_edit_comment) (MediaPage* self);
	void (*on_display_titles) (MediaPage* self, GSimpleAction* action, GVariant* value);
	void (*on_display_comments) (MediaPage* self, GSimpleAction* action, GVariant* value);
	void (*on_display_ratings) (MediaPage* self, GSimpleAction* action, GVariant* value);
	void (*on_display_tags) (MediaPage* self, GSimpleAction* action, GVariant* value);
	void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
	void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
	void (*on_sort_changed) (MediaPage* self, GSimpleAction* action, GVariant* value);
	void (*developer_changed) (MediaPage* self, RawDeveloper rd);
	DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
};

struct _CollectionPage {
	MediaPage parent_instance;
	CollectionPagePrivate * priv;
};

struct _CollectionPageClass {
	MediaPageClass parent_class;
};

struct _CollectionPagePrivate {
	ExporterUI* exporter;
	CollectionPageCollectionSearchViewFilter* search_filter;
};

typedef enum  {
	PHOTO_FILE_FORMAT_JFIF,
	PHOTO_FILE_FORMAT_RAW,
	PHOTO_FILE_FORMAT_PNG,
	PHOTO_FILE_FORMAT_TIFF,
	PHOTO_FILE_FORMAT_BMP,
	PHOTO_FILE_FORMAT_UNKNOWN
} PhotoFileFormat;

typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, void* user_data);
typedef enum  {
	EXPORT_FORMAT_MODE_UNMODIFIED,
	EXPORT_FORMAT_MODE_CURRENT,
	EXPORT_FORMAT_MODE_SPECIFIED,
	EXPORT_FORMAT_MODE_LAST
} ExportFormatMode;

typedef enum  {
	JPEG_QUALITY_LOW = 50,
	JPEG_QUALITY_MEDIUM = 75,
	JPEG_QUALITY_HIGH = 90,
	JPEG_QUALITY_MAXIMUM = 100
} JpegQuality;

struct _ExportFormatParameters {
	ExportFormatMode mode;
	PhotoFileFormat specified_format;
	JpegQuality quality;
	gboolean export_metadata;
};

typedef enum  {
	SCALE_CONSTRAINT_ORIGINAL,
	SCALE_CONSTRAINT_DIMENSIONS,
	SCALE_CONSTRAINT_WIDTH,
	SCALE_CONSTRAINT_HEIGHT,
	SCALE_CONSTRAINT_FILL_VIEWPORT
} ScaleConstraint;

struct _Dimensions {
	gint width;
	gint height;
};

struct _Scaling {
	ScaleConstraint constraint;
	gint scale;
	Dimensions viewport;
	gboolean scale_up;
};

typedef enum  {
	ROTATION_CLOCKWISE,
	ROTATION_COUNTERCLOCKWISE,
	ROTATION_MIRROR,
	ROTATION_UPSIDE_DOWN
} Rotation;

struct _DateableIface {
	GTypeInterface parent_iface;
	void (*set_exposure_time) (Dateable* self, time_t target_time);
	time_t (*get_exposure_time) (Dateable* self);
};

struct _ViewFilter {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ViewFilterPrivate * priv;
};

struct _ViewFilterClass {
	GTypeClass parent_class;
	void (*finalize) (ViewFilter *self);
	gboolean (*predicate) (ViewFilter* self, DataView* view);
	void (*refresh) (ViewFilter* self);
};

struct _SearchViewFilter {
	ViewFilter parent_instance;
	SearchViewFilterPrivate * priv;
};

struct _SearchViewFilterClass {
	ViewFilterClass parent_class;
	guint (*get_criteria) (SearchViewFilter* self);
};

struct _DefaultSearchViewFilter {
	SearchViewFilter parent_instance;
	DefaultSearchViewFilterPrivate * priv;
};

struct _DefaultSearchViewFilterClass {
	SearchViewFilterClass parent_class;
};

struct _CollectionPageCollectionSearchViewFilter {
	DefaultSearchViewFilter parent_instance;
	CollectionPageCollectionSearchViewFilterPrivate * priv;
};

struct _CollectionPageCollectionSearchViewFilterClass {
	DefaultSearchViewFilterClass parent_class;
};

typedef enum  {
	SEARCH_FILTER_CRITERIA_NONE = 0,
	SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0,
	SEARCH_FILTER_CRITERIA_TEXT = 1 << 1,
	SEARCH_FILTER_CRITERIA_FLAG = 1 << 2,
	SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3,
	SEARCH_FILTER_CRITERIA_RATING = 1 << 4,
	SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5,
	SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL
} SearchFilterCriteria;


static gpointer collection_view_manager_parent_class = NULL;
static gpointer collection_page_parent_class = NULL;
extern LibraryPhotoSourceCollection* library_photo_global;
static gpointer collection_page_collection_search_view_filter_parent_class = NULL;

gpointer view_manager_ref (gpointer instance);
void view_manager_unref (gpointer instance);
GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_view_manager (GValue* value, gpointer v_object);
void value_take_view_manager (GValue* value, gpointer v_object);
gpointer value_get_view_manager (const GValue* value);
GType view_manager_get_type (void) G_GNUC_CONST;
GType data_object_get_type (void) G_GNUC_CONST;
GType data_source_get_type (void) G_GNUC_CONST;
GType data_view_get_type (void) G_GNUC_CONST;
GType collection_view_manager_get_type (void) G_GNUC_CONST;
GType page_get_type (void) G_GNUC_CONST;
GType checkerboard_page_get_type (void) G_GNUC_CONST;
GType media_page_get_type (void) G_GNUC_CONST;
GType collection_page_get_type (void) G_GNUC_CONST;
#define COLLECTION_VIEW_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerPrivate))
enum  {
	COLLECTION_VIEW_MANAGER_DUMMY_PROPERTY
};
CollectionViewManager* collection_view_manager_new (CollectionPage* page);
CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page);
ViewManager* view_manager_construct (GType object_type);
static DataView* collection_view_manager_real_create_view (ViewManager* base, DataSource* source);
DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source);
static void collection_view_manager_finalize (ViewManager* obj);
GType page_window_get_type (void) G_GNUC_CONST;
GType fullscreen_window_get_type (void) G_GNUC_CONST;
gpointer injection_group_ref (gpointer instance);
void injection_group_unref (gpointer instance);
GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_injection_group (GValue* value, gpointer v_object);
void value_take_injection_group (GValue* value, gpointer v_object);
gpointer value_get_injection_group (const GValue* value);
GType injection_group_get_type (void) G_GNUC_CONST;
GType thumbnail_view_get_type (void) G_GNUC_CONST;
GType checkerboard_item_get_type (void) G_GNUC_CONST;
GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
gpointer view_filter_ref (gpointer instance);
void view_filter_unref (gpointer instance);
GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_view_filter (GValue* value, gpointer v_object);
void value_take_view_filter (GValue* value, gpointer v_object);
gpointer value_get_view_filter (const GValue* value);
GType view_filter_get_type (void) G_GNUC_CONST;
GType search_view_filter_get_type (void) G_GNUC_CONST;
gpointer core_tracker_ref (gpointer instance);
void core_tracker_unref (gpointer instance);
GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void core_value_set_tracker (GValue* value, gpointer v_object);
void core_value_take_tracker (GValue* value, gpointer v_object);
gpointer core_value_get_tracker (const GValue* value);
GType core_tracker_get_type (void) G_GNUC_CONST;
GType core_view_tracker_get_type (void) G_GNUC_CONST;
GType rating_get_type (void) G_GNUC_CONST;
GType raw_developer_get_type (void) G_GNUC_CONST;
gpointer exporter_ui_ref (gpointer instance);
void exporter_ui_unref (gpointer instance);
GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_exporter_ui (GValue* value, gpointer v_object);
void value_take_exporter_ui (GValue* value, gpointer v_object);
gpointer value_get_exporter_ui (const GValue* value);
GType exporter_ui_get_type (void) G_GNUC_CONST;
GType default_search_view_filter_get_type (void) G_GNUC_CONST;
GType collection_page_collection_search_view_filter_get_type (void) G_GNUC_CONST;
#define COLLECTION_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COLLECTION_PAGE, CollectionPagePrivate))
enum  {
	COLLECTION_PAGE_DUMMY_PROPERTY
};
CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void);
CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type);
#define COLLECTION_PAGE_DESKTOP_SLIDESHOW_TRANSITION_SEC 2.0
static void collection_page_on_print (CollectionPage* self);
static void _collection_page_on_print_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_publish (CollectionPage* self);
static void _collection_page_on_publish_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_rotate_clockwise (CollectionPage* self);
static void _collection_page_on_rotate_clockwise_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_rotate_counterclockwise (CollectionPage* self);
static void _collection_page_on_rotate_counterclockwise_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_flip_horizontally (CollectionPage* self);
static void _collection_page_on_flip_horizontally_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_flip_vertically (CollectionPage* self);
static void _collection_page_on_flip_vertically_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_enhance (CollectionPage* self);
static void _collection_page_on_enhance_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
void collection_page_on_copy_adjustments (CollectionPage* self);
static void _collection_page_on_copy_adjustments_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
void collection_page_on_paste_adjustments (CollectionPage* self);
static void _collection_page_on_paste_adjustments_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_revert (CollectionPage* self);
static void _collection_page_on_revert_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
void collection_page_on_set_background (CollectionPage* self);
static void _collection_page_on_set_background_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_duplicate_photo (CollectionPage* self);
static void _collection_page_on_duplicate_photo_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_adjust_date_time (CollectionPage* self);
static void _collection_page_on_adjust_date_time_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_external_edit (CollectionPage* self);
static void _collection_page_on_external_edit_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_external_edit_raw (CollectionPage* self);
static void _collection_page_on_external_edit_raw_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void collection_page_on_slideshow (CollectionPage* self);
static void _collection_page_on_slideshow_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
CollectionPage* collection_page_construct (GType object_type, const gchar* page_name);
MediaPage* media_page_construct (GType object_type, const gchar* page_name);
gpointer data_collection_ref (gpointer instance);
void data_collection_unref (gpointer instance);
GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_data_collection (GValue* value, gpointer v_object);
void value_take_data_collection (GValue* value, gpointer v_object);
gpointer value_get_data_collection (const GValue* value);
GType data_collection_get_type (void) G_GNUC_CONST;
GType view_collection_get_type (void) G_GNUC_CONST;
ViewCollection* page_get_view (Page* self);
gpointer alteration_ref (gpointer instance);
void alteration_unref (gpointer instance);
GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_alteration (GValue* value, gpointer v_object);
void value_take_alteration (GValue* value, gpointer v_object);
gpointer value_get_alteration (const GValue* value);
GType alteration_get_type (void) G_GNUC_CONST;
static void collection_page_on_photos_altered (CollectionPage* self, GeeMap* altered);
static void _collection_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path);
void page_init_toolbar (Page* self, const gchar* path);
GType configuration_facade_get_type (void) G_GNUC_CONST;
GType config_facade_get_type (void) G_GNUC_CONST;
ConfigFacade* config_facade_get_instance (void);
static void collection_page_on_external_app_changed (CollectionPage* self);
static void _collection_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self);
static GtkToolbar* collection_page_real_get_toolbar (Page* base);
GtkToolbar* page_get_toolbar (Page* self);
GType media_page_zoom_slider_assembly_get_type (void) G_GNUC_CONST;
MediaPageZoomSliderAssembly* media_page_create_zoom_slider_assembly (MediaPage* self);
void media_page_connect_slider (MediaPage* self, MediaPageZoomSliderAssembly* slider);
static InjectionGroup* collection_page_create_file_menu_injectables (void);
InjectionGroup* injection_group_new (const gchar* path);
InjectionGroup* injection_group_construct (GType object_type, const gchar* path);
void injection_group_add_menu_item (InjectionGroup* self, const gchar* name, const gchar* action, const gchar* accellerator);
void injection_group_add_separator (InjectionGroup* self);
static InjectionGroup* collection_page_create_edit_menu_injectables (void);
static InjectionGroup* collection_page_create_view_menu_fullscreen_injectables (void);
static InjectionGroup* collection_page_create_photos_menu_edits_injectables (void);
static InjectionGroup* collection_page_create_photos_menu_date_injectables (void);
static InjectionGroup* collection_page_create_photos_menu_externals_injectables (void);
static void collection_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
static void collection_page_real_add_actions (Page* base, GActionMap* map);
void page_add_actions (Page* self, GActionMap* map);
static void collection_page_real_remove_actions (Page* base, GActionMap* map);
void page_remove_actions (Page* self, GActionMap* map);
static InjectionGroup** collection_page_real_init_collect_injection_groups (Page* base, int* result_length1);
InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1);
static void _vala_array_add77 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add78 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add79 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add80 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add81 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add82 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static gboolean collection_page_selection_has_video (CollectionPage* self);
GType thumbnail_source_get_type (void) G_GNUC_CONST;
GType media_source_get_type (void) G_GNUC_CONST;
gboolean media_source_collection_has_video (GeeCollection* media);
GeeList* view_collection_get_selected_sources (ViewCollection* self);
static gboolean collection_page_page_has_photo (CollectionPage* self);
gboolean media_source_collection_has_photo (GeeCollection* media);
GeeCollection* view_collection_get_sources (ViewCollection* self);
static gboolean collection_page_selection_has_photo (CollectionPage* self);
static void collection_page_real_init_actions (Page* base, gint selected_count, gint count);
void page_init_actions (Page* self, gint selected_count, gint count);
void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive);
static void collection_page_real_update_actions (Page* base, gint selected_count, gint count);
GType app_window_get_type (void) G_GNUC_CONST;
AppWindow* app_window_get_instance (void);
Page* page_window_get_current_page (PageWindow* self);
void page_update_actions (Page* self, gint selected_count, gint count);
DataView* view_collection_get_selected_at (ViewCollection* self, gint index);
DataSource* data_view_get_source (DataView* self);
GType video_source_get_type (void) G_GNUC_CONST;
GType video_get_type (void) G_GNUC_CONST;
gboolean is_string_empty (const gchar* s);
gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self);
GType photo_source_get_type (void) G_GNUC_CONST;
GType photo_get_type (void) G_GNUC_CONST;
GType photo_file_format_get_type (void) G_GNUC_CONST;
PhotoFileFormat photo_get_master_file_format (Photo* self);
gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self);
static gboolean collection_page_can_revert_selected (CollectionPage* self);
gboolean photo_has_color_adjustments (Photo* self);
#define RESOURCES_SET_BACKGROUND_MENU _ ("Set as _Desktop Background")
#define RESOURCES_SET_BACKGROUND_SLIDESHOW_MENU _ ("Set as _Desktop Slideshow…")
void page_update_menu_item_label (Page* self, const gchar* id, const gchar* new_label);
gboolean data_view_is_selected (DataView* self);
gboolean alteration_has_subject (Alteration* self, const gchar* subject);
GType library_photo_get_type (void) G_GNUC_CONST;
gint view_collection_get_selected_count (ViewCollection* self);
gpointer print_manager_ref (gpointer instance);
void print_manager_unref (gpointer instance);
GParamSpec* param_spec_print_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_print_manager (GValue* value, gpointer v_object);
void value_take_print_manager (GValue* value, gpointer v_object);
gpointer value_get_print_manager (const GValue* value);
GType print_manager_get_type (void) G_GNUC_CONST;
PrintManager* print_manager_get_instance (void);
void print_manager_spool_photo (PrintManager* self, GeeCollection* to_print);
GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t);
static void collection_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
GType media_source_item_get_type (void) G_GNUC_CONST;
GType thumbnail_get_type (void) G_GNUC_CONST;
MediaSource* thumbnail_get_media_source (Thumbnail* self);
void media_page_on_play_video (MediaPage* self);
gchar* data_object_to_string (DataObject* self);
GType library_window_get_type (void) G_GNUC_CONST;
LibraryWindow* library_window_get_app (void);
void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current);
static gboolean collection_page_real_on_app_key_pressed (Page* base, GdkEventKey* event);
void page_activate_action (Page* self, const gchar* name);
gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event);
static void collection_page_real_on_export (MediaPage* base);
GType exporter_get_type (void) G_GNUC_CONST;
ExporterUI* video_export_many (GeeCollection* videos, ExporterCompletionCallback done, void* done_target, gboolean export_in_place);
static void collection_page_on_export_completed (CollectionPage* self);
static void _collection_page_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self);
GType export_dialog_get_type (void) G_GNUC_CONST;
ExportDialog* export_dialog_new (const gchar* title);
ExportDialog* export_dialog_construct (GType object_type, const gchar* title);
GType export_format_parameters_get_type (void) G_GNUC_CONST;
GType export_format_mode_get_type (void) G_GNUC_CONST;
GType jpeg_quality_get_type (void) G_GNUC_CONST;
ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self);
void export_format_parameters_free (ExportFormatParameters* self);
void export_format_parameters_current (ExportFormatParameters* result);
void export_format_parameters_last (ExportFormatParameters* result);
GType scale_constraint_get_type (void) G_GNUC_CONST;
gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters);
GType scaling_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);
Scaling* scaling_dup (const Scaling* self);
void scaling_free (Scaling* self);
void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result);
GFile* export_ui_choose_file (const gchar* current_file_basename);
gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params);
void page_window_set_busy_cursor (PageWindow* self);
void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error);
PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params);
void page_window_set_normal_cursor (PageWindow* self);
GtkResponseType export_error_dialog (GFile* dest, gboolean photos_remaining);
GFile* export_ui_choose_dir (const gchar* user_title);
Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all);
Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all);
ExporterUI* exporter_ui_new (Exporter* exporter);
ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter);
void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target);
gboolean photo_has_transformations (Photo* self);
gboolean photo_has_editable (Photo* self);
static gboolean collection_page_can_revert_editable_selected (CollectionPage* self);
GType command_get_type (void) G_GNUC_CONST;
GType page_command_get_type (void) G_GNUC_CONST;
GType multiple_data_source_command_get_type (void) G_GNUC_CONST;
GType rotate_multiple_command_get_type (void) G_GNUC_CONST;
GeeList* view_collection_get_selected (ViewCollection* self);
GType rotation_get_type (void) G_GNUC_CONST;
#define RESOURCES_ROTATE_CW_FULL_LABEL _ ("Rotate Right")
#define RESOURCES_ROTATE_CW_TOOLTIP _ ("Rotate the photos right (press Ctrl to rotate left)")
RotateMultipleCommand* rotate_multiple_command_new (GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text);
RotateMultipleCommand* rotate_multiple_command_construct (GType object_type, GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_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* page_get_command_manager (Page* self);
void command_manager_execute (CommandManager* self, Command* command);
void publishing_ui_publishing_dialog_go (GeeCollection* to_publish);
#define RESOURCES_ROTATE_CCW_FULL_LABEL _ ("Rotate Left")
#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left")
#define RESOURCES_HFLIP_LABEL _ ("Flip Horizontally")
#define RESOURCES_VFLIP_LABEL _ ("Flip Vertically")
gboolean revert_editable_dialog (GtkWindow* owner, GeeCollection* photos);
void photo_revert_to_master (Photo* self, gboolean notify);
GType multiple_photo_transformation_command_get_type (void) G_GNUC_CONST;
GType revert_multiple_command_get_type (void) G_GNUC_CONST;
RevertMultipleCommand* revert_multiple_command_new (GeeIterable* iter);
RevertMultipleCommand* revert_multiple_command_construct (GType object_type, GeeIterable* iter);
PixelTransformationBundle* photo_get_color_adjustments (Photo* self);
GType adjust_colors_multiple_command_get_type (void) G_GNUC_CONST;
#define RESOURCES_PASTE_ADJUSTMENTS_LABEL _ ("Paste Color Adjustments")
#define RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP _ ("Apply copied color adjustments to the selected photos")
AdjustColorsMultipleCommand* adjust_colors_multiple_command_new (GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation);
AdjustColorsMultipleCommand* adjust_colors_multiple_command_construct (GType object_type, GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation);
GType enhance_multiple_command_get_type (void) G_GNUC_CONST;
EnhanceMultipleCommand* enhance_multiple_command_new (GeeIterable* iter);
EnhanceMultipleCommand* enhance_multiple_command_construct (GType object_type, GeeIterable* iter);
GType duplicate_multiple_photos_command_get_type (void) G_GNUC_CONST;
DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_new (GeeIterable* iter);
DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_construct (GType object_type, GeeIterable* iter);
GType dateable_get_type (void) G_GNUC_CONST;
GType adjust_date_time_dialog_get_type (void) G_GNUC_CONST;
AdjustDateTimeDialog* adjust_date_time_dialog_new (Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video);
AdjustDateTimeDialog* adjust_date_time_dialog_construct (GType object_type, Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video);
gboolean adjust_date_time_dialog_execute (AdjustDateTimeDialog* self, gint64* time_shift, gboolean* keep_relativity, gboolean* modify_originals);
GType adjust_date_time_photos_command_get_type (void) G_GNUC_CONST;
AdjustDateTimePhotosCommand* adjust_date_time_photos_command_new (GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals);
AdjustDateTimePhotosCommand* adjust_date_time_photos_command_construct (GType object_type, GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals);
void photo_open_with_external_editor (Photo* self, GError** error);
void open_external_editor_error_dialog (GError* err, Photo* photo);
void photo_open_with_raw_external_editor (Photo* self, GError** error);
void app_window_error_message (const gchar* message, GtkWindow* parent);
gchar* resources_launch_editor_failed (GError* err);
void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos);
GType set_background_photo_dialog_get_type (void) G_GNUC_CONST;
SetBackgroundPhotoDialog* set_background_photo_dialog_new (void);
SetBackgroundPhotoDialog* set_background_photo_dialog_construct (GType object_type);
gboolean set_background_photo_dialog_execute (SetBackgroundPhotoDialog* self, gboolean* desktop_background, gboolean* screensaver);
void desktop_integration_set_background (Photo* photo, gboolean desktop, gboolean screensaver);
GType set_background_slideshow_dialog_get_type (void) G_GNUC_CONST;
SetBackgroundSlideshowDialog* set_background_slideshow_dialog_new (void);
SetBackgroundSlideshowDialog* set_background_slideshow_dialog_construct (GType object_type);
gboolean set_background_slideshow_dialog_execute (SetBackgroundSlideshowDialog* self, gint* delay_value, gboolean* desktop_background, gboolean* screensaver);
void desktop_integration_set_background_slideshow (GeeCollection* photos, gdouble duration, gdouble transition, gboolean desktop_background, gboolean screensaver);
gint data_collection_get_count (DataCollection* self);
GeeList* view_collection_get_sources_of_type (ViewCollection* self, GType t);
DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source);
void app_window_go_fullscreen (AppWindow* self, Page* page);
GType source_collection_get_type (void) G_GNUC_CONST;
GType database_source_collection_get_type (void) G_GNUC_CONST;
GType media_source_collection_get_type (void) G_GNUC_CONST;
GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
SlideshowPage* slideshow_page_new (SourceCollection* sources, ViewCollection* controller, Photo* start);
SlideshowPage* slideshow_page_construct (GType object_type, SourceCollection* sources, ViewCollection* controller, Photo* start);
GType single_photo_page_get_type (void) G_GNUC_CONST;
GType slideshow_page_get_type (void) G_GNUC_CONST;
static gboolean collection_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event);
gboolean page_on_ctrl_pressed (Page* self, GdkEventKey* event);
static gboolean collection_page_real_on_ctrl_released (Page* base, GdkEventKey* event);
gboolean page_on_ctrl_released (Page* self, GdkEventKey* event);
static SearchViewFilter* collection_page_real_get_search_view_filter (CheckerboardPage* base);
enum  {
	COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_DUMMY_PROPERTY
};
static guint collection_page_collection_search_view_filter_real_get_criteria (SearchViewFilter* base);
GType search_filter_criteria_get_type (void) G_GNUC_CONST;
DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type);
static void collection_page_finalize (GObject* obj);
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 const GActionEntry COLLECTION_PAGE_entries[16] = {{"Print", _collection_page_on_print_gsimple_action_activate_callback}, {"Publish", _collection_page_on_publish_gsimple_action_activate_callback}, {"RotateClockwise", _collection_page_on_rotate_clockwise_gsimple_action_activate_callback}, {"RotateCounterclockwise", _collection_page_on_rotate_counterclockwise_gsimple_action_activate_callback}, {"FlipHorizontally", _collection_page_on_flip_horizontally_gsimple_action_activate_callback}, {"FlipVertically", _collection_page_on_flip_vertically_gsimple_action_activate_callback}, {"Enhance", _collection_page_on_enhance_gsimple_action_activate_callback}, {"CopyColorAdjustments", _collection_page_on_copy_adjustments_gsimple_action_activate_callback}, {"PasteColorAdjustments", _collection_page_on_paste_adjustments_gsimple_action_activate_callback}, {"Revert", _collection_page_on_revert_gsimple_action_activate_callback}, {"SetBackground", _collection_page_on_set_background_gsimple_action_activate_callback}, {"Duplicate", _collection_page_on_duplicate_photo_gsimple_action_activate_callback}, {"AdjustDateTime", _collection_page_on_adjust_date_time_gsimple_action_activate_callback}, {"ExternalEdit", _collection_page_on_external_edit_gsimple_action_activate_callback}, {"ExternalEditRAW", _collection_page_on_external_edit_raw_gsimple_action_activate_callback}, {"Slideshow", _collection_page_on_slideshow_gsimple_action_activate_callback}};

static gpointer _g_object_ref0 (gpointer self) {
#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return self ? g_object_ref (self) : NULL;
#line 1365 "CollectionPage.c"
}


CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page) {
	CollectionViewManager* self = NULL;
	CollectionPage* _tmp0_ = NULL;
	CollectionPage* _tmp1_ = NULL;
#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (page), NULL);
#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = (CollectionViewManager*) view_manager_construct (object_type);
#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page;
#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (self->priv->page);
#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv->page = _tmp1_;
#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return self;
#line 1387 "CollectionPage.c"
}


CollectionViewManager* collection_view_manager_new (CollectionPage* page) {
#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return collection_view_manager_construct (TYPE_COLLECTION_VIEW_MANAGER, page);
#line 1394 "CollectionPage.c"
}


static DataView* collection_view_manager_real_create_view (ViewManager* base, DataSource* source) {
	CollectionViewManager * self;
	DataView* result = NULL;
	CollectionPage* _tmp0_ = NULL;
	DataSource* _tmp1_ = NULL;
	DataView* _tmp2_ = NULL;
#line 14 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager);
#line 14 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_DATA_SOURCE (source), NULL);
#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = self->priv->page;
#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = source;
#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = media_page_create_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_PAGE, MediaPage), _tmp1_);
#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp2_;
#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1418 "CollectionPage.c"
}


static void collection_view_manager_class_init (CollectionViewManagerClass * klass) {
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_view_manager_parent_class = g_type_class_peek_parent (klass);
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((ViewManagerClass *) klass)->finalize = collection_view_manager_finalize;
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_type_class_add_private (klass, sizeof (CollectionViewManagerPrivate));
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((ViewManagerClass *) klass)->create_view = (DataView* (*)(ViewManager*, DataSource*)) collection_view_manager_real_create_view;
#line 1431 "CollectionPage.c"
}


static void collection_view_manager_instance_init (CollectionViewManager * self) {
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv = COLLECTION_VIEW_MANAGER_GET_PRIVATE (self);
#line 1438 "CollectionPage.c"
}


static void collection_view_manager_finalize (ViewManager* obj) {
	CollectionViewManager * self;
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager);
#line 8 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (self->priv->page);
#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	VIEW_MANAGER_CLASS (collection_view_manager_parent_class)->finalize (obj);
#line 1450 "CollectionPage.c"
}


GType collection_view_manager_get_type (void) {
	static volatile gsize collection_view_manager_type_id__volatile = 0;
	if (g_once_init_enter (&collection_view_manager_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (CollectionViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) collection_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CollectionViewManager), 0, (GInstanceInitFunc) collection_view_manager_instance_init, NULL };
		GType collection_view_manager_type_id;
		collection_view_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "CollectionViewManager", &g_define_type_info, 0);
		g_once_init_leave (&collection_view_manager_type_id__volatile, collection_view_manager_type_id);
	}
	return collection_view_manager_type_id__volatile;
}


static void _collection_page_on_print_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_print ((CollectionPage*) self);
#line 1469 "CollectionPage.c"
}


static void _collection_page_on_publish_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_publish ((CollectionPage*) self);
#line 1476 "CollectionPage.c"
}


static void _collection_page_on_rotate_clockwise_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_rotate_clockwise ((CollectionPage*) self);
#line 1483 "CollectionPage.c"
}


static void _collection_page_on_rotate_counterclockwise_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_rotate_counterclockwise ((CollectionPage*) self);
#line 1490 "CollectionPage.c"
}


static void _collection_page_on_flip_horizontally_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_flip_horizontally ((CollectionPage*) self);
#line 1497 "CollectionPage.c"
}


static void _collection_page_on_flip_vertically_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_flip_vertically ((CollectionPage*) self);
#line 1504 "CollectionPage.c"
}


static void _collection_page_on_enhance_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_enhance ((CollectionPage*) self);
#line 1511 "CollectionPage.c"
}


static void _collection_page_on_copy_adjustments_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_copy_adjustments ((CollectionPage*) self);
#line 1518 "CollectionPage.c"
}


static void _collection_page_on_paste_adjustments_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_paste_adjustments ((CollectionPage*) self);
#line 1525 "CollectionPage.c"
}


static void _collection_page_on_revert_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_revert ((CollectionPage*) self);
#line 1532 "CollectionPage.c"
}


static void _collection_page_on_set_background_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_set_background ((CollectionPage*) self);
#line 1539 "CollectionPage.c"
}


static void _collection_page_on_duplicate_photo_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_duplicate_photo ((CollectionPage*) self);
#line 1546 "CollectionPage.c"
}


static void _collection_page_on_adjust_date_time_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_adjust_date_time ((CollectionPage*) self);
#line 1553 "CollectionPage.c"
}


static void _collection_page_on_external_edit_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_external_edit ((CollectionPage*) self);
#line 1560 "CollectionPage.c"
}


static void _collection_page_on_external_edit_raw_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_external_edit_raw ((CollectionPage*) self);
#line 1567 "CollectionPage.c"
}


static void _collection_page_on_slideshow_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_slideshow ((CollectionPage*) self);
#line 1574 "CollectionPage.c"
}


static void _collection_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_photos_altered ((CollectionPage*) self, items);
#line 1581 "CollectionPage.c"
}


static void _collection_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self) {
#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_external_app_changed ((CollectionPage*) self);
#line 1588 "CollectionPage.c"
}


CollectionPage* collection_page_construct (GType object_type, const gchar* page_name) {
	CollectionPage * self = NULL;
	const gchar* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	ViewCollection* _tmp2_ = NULL;
	ConfigFacade* _tmp3_ = NULL;
	ConfigFacade* _tmp4_ = NULL;
#line 32 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (page_name != NULL, NULL);
#line 33 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_name;
#line 33 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = (CollectionPage*) media_page_construct (object_type, _tmp0_);
#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _tmp1_;
#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _collection_page_on_photos_altered_data_collection_items_altered, self, 0);
#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp2_);
#line 37 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "CollectionContextMenu");
#line 38 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_init_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CollectionToolbar");
#line 40 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = config_facade_get_instance ();
#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = _tmp3_;
#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "external-app-changed", (GCallback) _collection_page_on_external_app_changed_configuration_facade_external_app_changed, self, 0);
#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp4_);
#line 32 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return self;
#line 1629 "CollectionPage.c"
}


static GtkToolbar* collection_page_real_get_toolbar (Page* base) {
	CollectionPage * self;
	GtkToolbar* result = NULL;
	GtkToolbar* _tmp0_ = NULL;
	GtkToolbar* _tmp28_ = NULL;
	GtkToolbar* _tmp29_ = NULL;
#line 46 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar;
#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp0_ == NULL) {
#line 1645 "CollectionPage.c"
		GtkToolbar* _tmp1_ = NULL;
		GtkToolbar* _tmp2_ = NULL;
		GtkSeparatorToolItem* separator = NULL;
		GtkSeparatorToolItem* _tmp3_ = NULL;
		GtkSeparatorToolItem* _tmp4_ = NULL;
		GtkSeparatorToolItem* _tmp5_ = NULL;
		GtkToolbar* _tmp6_ = NULL;
		GtkToolbar* _tmp7_ = NULL;
		GtkSeparatorToolItem* _tmp8_ = NULL;
		GtkSeparatorToolItem* drawn_separator = NULL;
		GtkSeparatorToolItem* _tmp9_ = NULL;
		GtkSeparatorToolItem* _tmp10_ = NULL;
		GtkSeparatorToolItem* _tmp11_ = NULL;
		GtkToolbar* _tmp12_ = NULL;
		GtkToolbar* _tmp13_ = NULL;
		GtkSeparatorToolItem* _tmp14_ = NULL;
		MediaPageZoomSliderAssembly* zoom_slider_assembly = NULL;
		MediaPageZoomSliderAssembly* _tmp15_ = NULL;
		MediaPageZoomSliderAssembly* _tmp16_ = NULL;
		GtkToolbar* _tmp17_ = NULL;
		GtkToolbar* _tmp18_ = NULL;
		MediaPageZoomSliderAssembly* _tmp19_ = NULL;
		GtkToolButton* rotate_button = NULL;
		GtkBuilder* _tmp20_ = NULL;
		GObject* _tmp21_ = NULL;
		GtkToolButton* _tmp22_ = NULL;
		GtkBindingSet* binding_set = NULL;
		GtkToolButton* _tmp23_ = NULL;
		GObjectClass* _tmp24_ = NULL;
		GtkBindingSet* _tmp25_ = NULL;
		GtkBindingSet* _tmp26_ = NULL;
		GtkBindingSet* _tmp27_ = NULL;
#line 48 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp1_ = PAGE_CLASS (collection_page_parent_class)->get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page));
#line 48 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp2_ = _tmp1_;
#line 48 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp2_);
#line 51 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp3_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 51 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		g_object_ref_sink (_tmp3_);
#line 51 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		separator = _tmp3_;
#line 52 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = separator;
#line 52 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 53 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = separator;
#line 53 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_separator_tool_item_set_draw (_tmp5_, FALSE);
#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp7_ = _tmp6_;
#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = separator;
#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_toolbar_insert (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp7_);
#line 56 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 56 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		g_object_ref_sink (_tmp9_);
#line 56 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		drawn_separator = _tmp9_;
#line 57 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = drawn_separator;
#line 57 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_tool_item_get_type (), GtkToolItem), FALSE);
#line 58 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp11_ = drawn_separator;
#line 58 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_separator_tool_item_set_draw (_tmp11_, TRUE);
#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp13_ = _tmp12_;
#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = drawn_separator;
#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_toolbar_insert (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp13_);
#line 63 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp15_ = media_page_create_zoom_slider_assembly (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage));
#line 63 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		zoom_slider_assembly = _tmp15_;
#line 64 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp16_ = zoom_slider_assembly;
#line 64 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		media_page_connect_slider (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), _tmp16_);
#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp17_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp18_ = _tmp17_;
#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = zoom_slider_assembly;
#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_toolbar_insert (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp18_);
#line 67 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->builder;
#line 67 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp21_ = gtk_builder_get_object (_tmp20_, "ToolRotate");
#line 67 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, gtk_tool_button_get_type ()) ? ((GtkToolButton*) _tmp21_) : NULL);
#line 67 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		rotate_button = _tmp22_;
#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp23_ = rotate_button;
#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp24_ = G_OBJECT_GET_CLASS (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, G_TYPE_OBJECT, GObject));
#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp25_ = gtk_binding_set_by_class (_tmp24_);
#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		binding_set = _tmp25_;
#line 69 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp26_ = binding_set;
#line 69 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_binding_entry_add_signal (_tmp26_, (guint) GDK_KEY_KP_Space, GDK_CONTROL_MASK, "clicked", (guint) 0, NULL);
#line 70 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp27_ = binding_set;
#line 70 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_binding_entry_add_signal (_tmp27_, (guint) GDK_KEY_space, GDK_CONTROL_MASK, "clicked", (guint) 0, NULL);
#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (rotate_button);
#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (zoom_slider_assembly);
#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (drawn_separator);
#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (separator);
#line 1782 "CollectionPage.c"
	}
#line 74 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp28_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar;
#line 74 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp29_ = _g_object_ref0 (_tmp28_);
#line 74 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp29_;
#line 74 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1792 "CollectionPage.c"
}


static InjectionGroup* collection_page_create_file_menu_injectables (void) {
	InjectionGroup* result = NULL;
	InjectionGroup* group = NULL;
	InjectionGroup* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
#line 78 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = injection_group_new ("FileExtrasPlaceholder");
#line 78 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	group = _tmp0_;
#line 80 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _ ("_Print");
#line 80 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp1_, "Print", "<Primary>p");
#line 81 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_separator (group);
#line 82 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _ ("_Publish");
#line 82 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp2_, "Publish", "<Primary><Shift>p");
#line 83 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _ ("Send _To…");
#line 83 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp3_, "SendTo", NULL);
#line 84 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = _ ("Set as _Desktop Background");
#line 84 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp4_, "SetBackground", "<Primary>b");
#line 86 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = group;
#line 86 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1830 "CollectionPage.c"
}


static InjectionGroup* collection_page_create_edit_menu_injectables (void) {
	InjectionGroup* result = NULL;
	InjectionGroup* group = NULL;
	InjectionGroup* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
#line 90 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = injection_group_new ("EditExtrasPlaceholder");
#line 90 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	group = _tmp0_;
#line 92 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _ ("_Duplicate");
#line 92 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp1_, "Duplicate", "<Primary>D");
#line 94 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = group;
#line 94 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1851 "CollectionPage.c"
}


static InjectionGroup* collection_page_create_view_menu_fullscreen_injectables (void) {
	InjectionGroup* result = NULL;
	InjectionGroup* group = NULL;
	InjectionGroup* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
#line 98 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = injection_group_new ("ViewExtrasFullscreenSlideshowPlaceholder");
#line 98 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	group = _tmp0_;
#line 100 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _ ("Fullscreen");
#line 100 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp1_, "CommonFullscreen", "F11");
#line 101 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_separator (group);
#line 102 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _ ("S_lideshow");
#line 102 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp2_, "Slideshow", "F5");
#line 104 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = group;
#line 104 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1879 "CollectionPage.c"
}


static InjectionGroup* collection_page_create_photos_menu_edits_injectables (void) {
	InjectionGroup* result = NULL;
	InjectionGroup* group = NULL;
	InjectionGroup* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
#line 108 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = injection_group_new ("PhotosExtrasEditsPlaceholder");
#line 108 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	group = _tmp0_;
#line 110 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _ ("Rotate _Right");
#line 110 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp1_, "RotateClockwise", "<Primary>r");
#line 113 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _ ("Rotate _Left");
#line 113 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp2_, "RotateCounterclockwise", "<Primary><Shift>r");
#line 116 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _ ("Flip Hori_zontally");
#line 116 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp3_, "FlipHorizontally", NULL);
#line 117 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = _ ("Flip Verti_cally");
#line 117 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp4_, "FlipVertically", NULL);
#line 118 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_separator (group);
#line 119 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _ ("_Enhance");
#line 119 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp5_, "Enhance", NULL);
#line 120 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = _ ("Re_vert to Original");
#line 120 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp6_, "Revert", NULL);
#line 121 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_separator (group);
#line 122 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _ ("_Copy Color Adjustments");
#line 122 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp7_, "CopyColorAdjustments", "<Primary><Shift>c");
#line 125 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _ ("_Paste Color Adjustments");
#line 125 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp8_, "PasteColorAdjustments", "<Primary><Shift>v");
#line 129 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = group;
#line 129 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1939 "CollectionPage.c"
}


static InjectionGroup* collection_page_create_photos_menu_date_injectables (void) {
	InjectionGroup* result = NULL;
	InjectionGroup* group = NULL;
	InjectionGroup* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
#line 133 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = injection_group_new ("PhotosExtrasDateTimePlaceholder");
#line 133 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	group = _tmp0_;
#line 135 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _ ("Adjust Date and Time…");
#line 135 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp1_, "AdjustDateTime", NULL);
#line 137 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = group;
#line 137 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1960 "CollectionPage.c"
}


static InjectionGroup* collection_page_create_photos_menu_externals_injectables (void) {
	InjectionGroup* result = NULL;
	InjectionGroup* group = NULL;
	InjectionGroup* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
#line 141 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = injection_group_new ("PhotosExtrasExternalsPlaceholder");
#line 141 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	group = _tmp0_;
#line 143 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _ ("Open With E_xternal Editor");
#line 143 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp1_, "ExternalEdit", "<Primary>Return");
#line 146 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _ ("Open With RA_W Editor");
#line 146 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp2_, "ExternalEditRAW", "<Primary><Shift>Return");
#line 149 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _ ("_Play");
#line 149 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	injection_group_add_menu_item (group, _tmp3_, "PlayVideo", "<Primary>Y");
#line 151 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = group;
#line 151 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 1991 "CollectionPage.c"
}


static void collection_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
	CollectionPage * self;
	GeeList* _tmp0_ = NULL;
	GeeList* _tmp1_ = NULL;
#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (GEE_IS_LIST (ui_filenames));
#line 155 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = ui_filenames;
#line 155 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	PAGE_CLASS (collection_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_);
#line 157 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = ui_filenames;
#line 157 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "collection.ui");
#line 2011 "CollectionPage.c"
}


static void collection_page_real_add_actions (Page* base, GActionMap* map) {
	CollectionPage * self;
	GActionMap* _tmp0_ = NULL;
	GActionMap* _tmp1_ = NULL;
#line 179 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 179 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (G_IS_ACTION_MAP (map));
#line 180 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = map;
#line 180 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	PAGE_CLASS (collection_page_parent_class)->add_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_);
#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = map;
#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_action_map_add_action_entries (_tmp1_, COLLECTION_PAGE_entries, G_N_ELEMENTS (COLLECTION_PAGE_entries), self);
#line 2031 "CollectionPage.c"
}


static void collection_page_real_remove_actions (Page* base, GActionMap* map) {
	CollectionPage * self;
	GActionMap* _tmp0_ = NULL;
#line 185 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 185 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (G_IS_ACTION_MAP (map));
#line 186 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = map;
#line 186 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	PAGE_CLASS (collection_page_parent_class)->remove_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_);
#line 2046 "CollectionPage.c"
	{
		GActionEntry* entry_collection = NULL;
		gint entry_collection_length1 = 0;
		gint _entry_collection_size_ = 0;
		gint entry_it = 0;
#line 187 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		entry_collection = COLLECTION_PAGE_entries;
#line 187 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		entry_collection_length1 = G_N_ELEMENTS (COLLECTION_PAGE_entries);
#line 187 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		for (entry_it = 0; entry_it < G_N_ELEMENTS (COLLECTION_PAGE_entries); entry_it = entry_it + 1) {
#line 2058 "CollectionPage.c"
			GActionEntry entry = {0};
#line 187 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			entry = entry_collection[entry_it];
#line 2062 "CollectionPage.c"
			{
				GActionMap* _tmp1_ = NULL;
				GActionEntry _tmp2_ = {0};
				const gchar* _tmp3_ = NULL;
#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp1_ = map;
#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp2_ = entry;
#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp3_ = _tmp2_.name;
#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				g_action_map_remove_action (_tmp1_, _tmp3_);
#line 2075 "CollectionPage.c"
			}
		}
	}
}


static void _vala_array_add77 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((*length) == (*size)) {
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 2089 "CollectionPage.c"
	}
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[(*length)++] = value;
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[*length] = NULL;
#line 2095 "CollectionPage.c"
}


static void _vala_array_add78 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((*length) == (*size)) {
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 2106 "CollectionPage.c"
	}
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[(*length)++] = value;
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[*length] = NULL;
#line 2112 "CollectionPage.c"
}


static void _vala_array_add79 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((*length) == (*size)) {
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 2123 "CollectionPage.c"
	}
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[(*length)++] = value;
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[*length] = NULL;
#line 2129 "CollectionPage.c"
}


static void _vala_array_add80 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((*length) == (*size)) {
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 2140 "CollectionPage.c"
	}
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[(*length)++] = value;
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[*length] = NULL;
#line 2146 "CollectionPage.c"
}


static void _vala_array_add81 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((*length) == (*size)) {
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 2157 "CollectionPage.c"
	}
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[(*length)++] = value;
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[*length] = NULL;
#line 2163 "CollectionPage.c"
}


static void _vala_array_add82 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((*length) == (*size)) {
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 2174 "CollectionPage.c"
	}
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[(*length)++] = value;
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	(*array)[*length] = NULL;
#line 2180 "CollectionPage.c"
}


static InjectionGroup** collection_page_real_init_collect_injection_groups (Page* base, int* result_length1) {
	CollectionPage * self;
	InjectionGroup** result = NULL;
	InjectionGroup** groups = NULL;
	gint _tmp0_ = 0;
	InjectionGroup** _tmp1_ = NULL;
	gint groups_length1 = 0;
	gint _groups_size_ = 0;
	InjectionGroup** _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	InjectionGroup* _tmp3_ = NULL;
	InjectionGroup** _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
	InjectionGroup* _tmp5_ = NULL;
	InjectionGroup** _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	InjectionGroup* _tmp7_ = NULL;
	InjectionGroup** _tmp8_ = NULL;
	gint _tmp8__length1 = 0;
	InjectionGroup* _tmp9_ = NULL;
	InjectionGroup** _tmp10_ = NULL;
	gint _tmp10__length1 = 0;
	InjectionGroup* _tmp11_ = NULL;
	InjectionGroup** _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	InjectionGroup* _tmp13_ = NULL;
	InjectionGroup** _tmp14_ = NULL;
	gint _tmp14__length1 = 0;
#line 192 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 193 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = PAGE_CLASS (collection_page_parent_class)->init_collect_injection_groups (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), &_tmp0_);
#line 193 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	groups = _tmp1_;
#line 193 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	groups_length1 = _tmp0_;
#line 193 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_groups_size_ = groups_length1;
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = groups;
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2__length1 = groups_length1;
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = collection_page_create_file_menu_injectables ();
#line 195 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_array_add77 (&groups, &groups_length1, &_groups_size_, _tmp3_);
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = groups;
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4__length1 = groups_length1;
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = collection_page_create_edit_menu_injectables ();
#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_array_add78 (&groups, &groups_length1, &_groups_size_, _tmp5_);
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = groups;
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6__length1 = groups_length1;
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = collection_page_create_view_menu_fullscreen_injectables ();
#line 197 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_array_add79 (&groups, &groups_length1, &_groups_size_, _tmp7_);
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = groups;
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8__length1 = groups_length1;
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = collection_page_create_photos_menu_edits_injectables ();
#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_array_add80 (&groups, &groups_length1, &_groups_size_, _tmp9_);
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = groups;
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10__length1 = groups_length1;
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = collection_page_create_photos_menu_date_injectables ();
#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_array_add81 (&groups, &groups_length1, &_groups_size_, _tmp11_);
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = groups;
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12__length1 = groups_length1;
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = collection_page_create_photos_menu_externals_injectables ();
#line 200 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_array_add82 (&groups, &groups_length1, &_groups_size_, _tmp13_);
#line 202 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14_ = groups;
#line 202 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14__length1 = groups_length1;
#line 202 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (result_length1) {
#line 202 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		*result_length1 = _tmp14__length1;
#line 2278 "CollectionPage.c"
	}
#line 202 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp14_;
#line 202 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 2284 "CollectionPage.c"
}


static gboolean collection_page_selection_has_video (CollectionPage* self) {
	gboolean result = FALSE;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	GeeList* _tmp2_ = NULL;
	GeeCollection* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE);
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_sources (_tmp1_);
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection);
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = media_source_collection_has_video (_tmp3_);
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp3_);
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp5_;
#line 206 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 2318 "CollectionPage.c"
}


static gboolean collection_page_page_has_photo (CollectionPage* self) {
	gboolean result = FALSE;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	GeeCollection* _tmp2_ = NULL;
	GeeCollection* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
#line 209 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE);
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_sources (_tmp1_);
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection);
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = media_source_collection_has_photo (_tmp3_);
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp3_);
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp5_;
#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 2352 "CollectionPage.c"
}


static gboolean collection_page_selection_has_photo (CollectionPage* self) {
	gboolean result = FALSE;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	GeeList* _tmp2_ = NULL;
	GeeCollection* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE);
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_sources (_tmp1_);
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection);
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = media_source_collection_has_photo (_tmp3_);
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp3_);
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp5_;
#line 214 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 2386 "CollectionPage.c"
}


static void collection_page_real_init_actions (Page* base, gint selected_count, gint count) {
	CollectionPage * self;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
#line 217 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = selected_count;
#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = count;
#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	PAGE_CLASS (collection_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_, _tmp1_);
#line 220 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", TRUE);
#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", TRUE);
#line 222 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", TRUE);
#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", TRUE);
#line 2410 "CollectionPage.c"
}


static void collection_page_real_update_actions (Page* base, gint selected_count, gint count) {
	CollectionPage * self;
	AppWindow* _tmp0_ = NULL;
	AppWindow* _tmp1_ = NULL;
	Page* _tmp2_ = NULL;
	Page* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gint _tmp5_ = 0;
	gint _tmp6_ = 0;
	gboolean one_selected = FALSE;
	gint _tmp7_ = 0;
	gboolean has_selected = FALSE;
	gint _tmp8_ = 0;
	gboolean primary_is_video = FALSE;
	gboolean _tmp9_ = FALSE;
	gboolean selection_has_videos = FALSE;
	gboolean _tmp17_ = FALSE;
	gboolean page_has_photos = FALSE;
	gboolean _tmp18_ = FALSE;
	gboolean _tmp19_ = FALSE;
	gboolean _tmp20_ = FALSE;
	gboolean _tmp22_ = FALSE;
	gboolean _tmp23_ = FALSE;
	gboolean _tmp24_ = FALSE;
	gboolean _tmp31_ = FALSE;
	gboolean _tmp32_ = FALSE;
	gboolean _tmp33_ = FALSE;
	gboolean _tmp34_ = FALSE;
	gboolean _tmp48_ = FALSE;
	gboolean _tmp49_ = FALSE;
	gboolean _tmp51_ = FALSE;
	gboolean _tmp52_ = FALSE;
	gboolean _tmp54_ = FALSE;
	gboolean _tmp55_ = FALSE;
	gboolean _tmp56_ = FALSE;
	gboolean _tmp65_ = FALSE;
	gboolean _tmp66_ = FALSE;
	gboolean _tmp67_ = FALSE;
	gboolean _tmp70_ = FALSE;
	gboolean _tmp71_ = FALSE;
	gboolean _tmp73_ = FALSE;
	gboolean _tmp74_ = FALSE;
	gboolean _tmp76_ = FALSE;
	gboolean _tmp77_ = FALSE;
	gboolean _tmp79_ = FALSE;
	gboolean _tmp80_ = FALSE;
	gboolean _tmp82_ = FALSE;
	gboolean _tmp83_ = FALSE;
	gboolean _tmp84_ = FALSE;
	gboolean _tmp85_ = FALSE;
	gboolean _tmp86_ = FALSE;
	gboolean _tmp87_ = FALSE;
	gboolean _tmp89_ = FALSE;
	gboolean _tmp90_ = FALSE;
	gboolean _tmp92_ = FALSE;
	gboolean _tmp93_ = FALSE;
	gboolean _tmp94_ = FALSE;
	gboolean _tmp96_ = FALSE;
#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = app_window_get_instance ();
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow));
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_;
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = _tmp3_ != G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page);
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp3_);
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp1_);
#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp4_) {
#line 229 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 2492 "CollectionPage.c"
	}
#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = selected_count;
#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = count;
#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	PAGE_CLASS (collection_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp5_, _tmp6_);
#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = selected_count;
#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	one_selected = _tmp7_ == 1;
#line 235 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = selected_count;
#line 235 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	has_selected = _tmp8_ > 0;
#line 237 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	primary_is_video = FALSE;
#line 238 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = has_selected;
#line 238 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp9_) {
#line 2514 "CollectionPage.c"
		ViewCollection* _tmp10_ = NULL;
		ViewCollection* _tmp11_ = NULL;
		DataView* _tmp12_ = NULL;
		DataView* _tmp13_ = NULL;
		DataSource* _tmp14_ = NULL;
		DataSource* _tmp15_ = NULL;
		gboolean _tmp16_ = FALSE;
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp11_ = _tmp10_;
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = view_collection_get_selected_at (_tmp11_, 0);
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp13_ = _tmp12_;
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = data_view_get_source (_tmp13_);
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp15_ = _tmp14_;
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp16_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_VIDEO);
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp15_);
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp13_);
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp11_);
#line 239 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp16_) {
#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			primary_is_video = TRUE;
#line 2546 "CollectionPage.c"
		}
	}
#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp17_ = collection_page_selection_has_video (self);
#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	selection_has_videos = _tmp17_;
#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp18_ = collection_page_page_has_photo (self);
#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_has_photos = _tmp18_;
#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp20_ = has_selected;
#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp20_) {
#line 2561 "CollectionPage.c"
		gboolean _tmp21_ = FALSE;
#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp21_ = selection_has_videos;
#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = !_tmp21_;
#line 2567 "CollectionPage.c"
	} else {
#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = FALSE;
#line 2571 "CollectionPage.c"
	}
#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Duplicate", _tmp19_);
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp24_ = primary_is_video;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp24_) {
#line 2579 "CollectionPage.c"
		gboolean _tmp25_ = FALSE;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp25_ = one_selected;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp23_ = _tmp25_;
#line 2585 "CollectionPage.c"
	} else {
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp23_ = FALSE;
#line 2589 "CollectionPage.c"
	}
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp23_) {
#line 2593 "CollectionPage.c"
		ConfigFacade* _tmp26_ = NULL;
		ConfigFacade* _tmp27_ = NULL;
		gchar* _tmp28_ = NULL;
		gchar* _tmp29_ = NULL;
		gboolean _tmp30_ = FALSE;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp26_ = config_facade_get_instance ();
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp27_ = _tmp26_;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp28_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp29_ = _tmp28_;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp30_ = is_string_empty (_tmp29_);
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp22_ = !_tmp30_;
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (_tmp29_);
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp27_);
#line 2615 "CollectionPage.c"
	} else {
#line 249 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp22_ = FALSE;
#line 2619 "CollectionPage.c"
	}
#line 248 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp22_);
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp34_ = one_selected;
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp34_) {
#line 2627 "CollectionPage.c"
		gboolean _tmp35_ = FALSE;
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp35_ = primary_is_video;
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp33_ = !_tmp35_;
#line 2633 "CollectionPage.c"
	} else {
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp33_ = FALSE;
#line 2637 "CollectionPage.c"
	}
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp33_) {
#line 2641 "CollectionPage.c"
		ViewCollection* _tmp36_ = NULL;
		ViewCollection* _tmp37_ = NULL;
		DataView* _tmp38_ = NULL;
		DataView* _tmp39_ = NULL;
		DataSource* _tmp40_ = NULL;
		Photo* _tmp41_ = NULL;
		PhotoFileFormat _tmp42_ = 0;
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp36_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp37_ = _tmp36_;
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp38_ = view_collection_get_selected_at (_tmp37_, 0);
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp39_ = _tmp38_;
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp40_ = data_view_get_source (_tmp39_);
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp41_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_PHOTO, Photo);
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp42_ = photo_get_master_file_format (_tmp41_);
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp32_ = _tmp42_ == PHOTO_FILE_FORMAT_RAW;
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp41_);
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp39_);
#line 252 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp37_);
#line 2671 "CollectionPage.c"
	} else {
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp32_ = FALSE;
#line 2675 "CollectionPage.c"
	}
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp32_) {
#line 2679 "CollectionPage.c"
		ConfigFacade* _tmp43_ = NULL;
		ConfigFacade* _tmp44_ = NULL;
		gchar* _tmp45_ = NULL;
		gchar* _tmp46_ = NULL;
		gboolean _tmp47_ = FALSE;
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp43_ = config_facade_get_instance ();
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp44_ = _tmp43_;
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp45_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp46_ = _tmp45_;
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp47_ = is_string_empty (_tmp46_);
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp31_ = !_tmp47_;
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (_tmp46_);
#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp44_);
#line 2701 "CollectionPage.c"
	} else {
#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp31_ = FALSE;
#line 2705 "CollectionPage.c"
	}
#line 250 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEditRAW", _tmp31_);
#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp49_ = selection_has_videos;
#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp49_) {
#line 2713 "CollectionPage.c"
		gboolean _tmp50_ = FALSE;
#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp50_ = collection_page_can_revert_selected (self);
#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp48_ = _tmp50_;
#line 2719 "CollectionPage.c"
	} else {
#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp48_ = FALSE;
#line 2723 "CollectionPage.c"
	}
#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp48_);
#line 256 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp52_ = selection_has_videos;
#line 256 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp52_) {
#line 2731 "CollectionPage.c"
		gboolean _tmp53_ = FALSE;
#line 256 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp53_ = has_selected;
#line 256 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp51_ = _tmp53_;
#line 2737 "CollectionPage.c"
	} else {
#line 256 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp51_ = FALSE;
#line 2741 "CollectionPage.c"
	}
#line 256 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", _tmp51_);
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp56_ = selection_has_videos;
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp56_) {
#line 2749 "CollectionPage.c"
		gboolean _tmp57_ = FALSE;
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp57_ = one_selected;
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp55_ = _tmp57_;
#line 2755 "CollectionPage.c"
	} else {
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp55_ = FALSE;
#line 2759 "CollectionPage.c"
	}
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp55_) {
#line 2763 "CollectionPage.c"
		ViewCollection* _tmp58_ = NULL;
		ViewCollection* _tmp59_ = NULL;
		DataView* _tmp60_ = NULL;
		DataView* _tmp61_ = NULL;
		DataSource* _tmp62_ = NULL;
		Photo* _tmp63_ = NULL;
		gboolean _tmp64_ = FALSE;
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp58_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp59_ = _tmp58_;
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp60_ = view_collection_get_selected_at (_tmp59_, 0);
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp61_ = _tmp60_;
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp62_ = data_view_get_source (_tmp61_);
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp63_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, TYPE_PHOTO, Photo);
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp64_ = photo_has_color_adjustments (_tmp63_);
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp54_ = _tmp64_;
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp63_);
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp61_);
#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp59_);
#line 2793 "CollectionPage.c"
	} else {
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp54_ = FALSE;
#line 2797 "CollectionPage.c"
	}
#line 257 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CopyColorAdjustments", _tmp54_);
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp67_ = selection_has_videos;
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp67_) {
#line 2805 "CollectionPage.c"
		gboolean _tmp68_ = FALSE;
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp68_ = has_selected;
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp66_ = _tmp68_;
#line 2811 "CollectionPage.c"
	} else {
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp66_ = FALSE;
#line 2815 "CollectionPage.c"
	}
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp66_) {
#line 2819 "CollectionPage.c"
		gboolean _tmp69_ = FALSE;
#line 260 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp69_ = pixel_transformation_bundle_has_copied_color_adjustments ();
#line 260 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp65_ = _tmp69_;
#line 2825 "CollectionPage.c"
	} else {
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp65_ = FALSE;
#line 2829 "CollectionPage.c"
	}
#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", _tmp65_);
#line 261 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp71_ = selection_has_videos;
#line 261 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp71_) {
#line 2837 "CollectionPage.c"
		gboolean _tmp72_ = FALSE;
#line 261 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp72_ = has_selected;
#line 261 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp70_ = _tmp72_;
#line 2843 "CollectionPage.c"
	} else {
#line 261 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp70_ = FALSE;
#line 2847 "CollectionPage.c"
	}
#line 261 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", _tmp70_);
#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp74_ = selection_has_videos;
#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp74_) {
#line 2855 "CollectionPage.c"
		gboolean _tmp75_ = FALSE;
#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp75_ = has_selected;
#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp73_ = _tmp75_;
#line 2861 "CollectionPage.c"
	} else {
#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp73_ = FALSE;
#line 2865 "CollectionPage.c"
	}
#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", _tmp73_);
#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp77_ = selection_has_videos;
#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp77_) {
#line 2873 "CollectionPage.c"
		gboolean _tmp78_ = FALSE;
#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp78_ = has_selected;
#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp76_ = _tmp78_;
#line 2879 "CollectionPage.c"
	} else {
#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp76_ = FALSE;
#line 2883 "CollectionPage.c"
	}
#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", _tmp76_);
#line 264 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp80_ = selection_has_videos;
#line 264 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp80_) {
#line 2891 "CollectionPage.c"
		gboolean _tmp81_ = FALSE;
#line 264 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp81_ = has_selected;
#line 264 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp79_ = _tmp81_;
#line 2897 "CollectionPage.c"
	} else {
#line 264 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp79_ = FALSE;
#line 2901 "CollectionPage.c"
	}
#line 264 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", _tmp79_);
#line 268 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp82_ = has_selected;
#line 268 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", _tmp82_);
#line 270 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp83_ = has_selected;
#line 270 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "NewEvent", _tmp83_);
#line 271 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp84_ = has_selected;
#line 271 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AddTags", _tmp84_);
#line 272 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp85_ = one_selected;
#line 272 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ModifyTags", _tmp85_);
#line 273 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp87_ = page_has_photos;
#line 273 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp87_) {
#line 2925 "CollectionPage.c"
		gboolean _tmp88_ = FALSE;
#line 273 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp88_ = primary_is_video;
#line 273 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp86_ = !_tmp88_;
#line 2931 "CollectionPage.c"
	} else {
#line 273 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp86_ = FALSE;
#line 2935 "CollectionPage.c"
	}
#line 273 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Slideshow", _tmp86_);
#line 274 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp90_ = selection_has_videos;
#line 274 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp90_) {
#line 2943 "CollectionPage.c"
		gboolean _tmp91_ = FALSE;
#line 274 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp91_ = has_selected;
#line 274 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp89_ = _tmp91_;
#line 2949 "CollectionPage.c"
	} else {
#line 274 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp89_ = FALSE;
#line 2953 "CollectionPage.c"
	}
#line 274 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Print", _tmp89_);
#line 275 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp92_ = has_selected;
#line 275 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", _tmp92_);
#line 277 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp94_ = selection_has_videos;
#line 277 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp94_) {
#line 2965 "CollectionPage.c"
		gboolean _tmp95_ = FALSE;
#line 277 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp95_ = has_selected;
#line 277 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp93_ = _tmp95_;
#line 2971 "CollectionPage.c"
	} else {
#line 277 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp93_ = FALSE;
#line 2975 "CollectionPage.c"
	}
#line 277 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp93_);
#line 278 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp96_ = has_selected;
#line 278 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp96_) {
#line 2983 "CollectionPage.c"
		const gchar* _tmp97_ = NULL;
		gboolean _tmp98_ = FALSE;
		gchar* label = NULL;
		gchar* _tmp99_ = NULL;
		const gchar* _tmp100_ = NULL;
#line 279 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		g_debug ("CollectionPage.vala:279: Setting action label for SetBackground...");
#line 280 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp98_ = one_selected;
#line 280 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp98_) {
#line 281 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp97_ = RESOURCES_SET_BACKGROUND_MENU;
#line 2997 "CollectionPage.c"
		} else {
#line 282 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp97_ = RESOURCES_SET_BACKGROUND_SLIDESHOW_MENU;
#line 3001 "CollectionPage.c"
		}
#line 280 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp99_ = g_strdup (_tmp97_);
#line 280 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		label = _tmp99_;
#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp100_ = label;
#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_update_menu_item_label (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp100_);
#line 278 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (label);
#line 3013 "CollectionPage.c"
	}
}


static void collection_page_on_photos_altered (CollectionPage* self, GeeMap* altered) {
#line 287 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 287 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (GEE_IS_MAP (altered));
#line 3023 "CollectionPage.c"
	{
		GeeIterator* _object_it = NULL;
		GeeMap* _tmp0_ = NULL;
		GeeSet* _tmp1_ = NULL;
		GeeSet* _tmp2_ = NULL;
		GeeSet* _tmp3_ = NULL;
		GeeIterator* _tmp4_ = NULL;
		GeeIterator* _tmp5_ = NULL;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp0_ = altered;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp1_ = gee_map_get_keys (_tmp0_);
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp2_ = _tmp1_;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp3_ = _tmp2_;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = _tmp4_;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp3_);
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_object_it = _tmp5_;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		while (TRUE) {
#line 3050 "CollectionPage.c"
			GeeIterator* _tmp6_ = NULL;
			gboolean _tmp7_ = FALSE;
			DataObject* object = NULL;
			GeeIterator* _tmp8_ = NULL;
			gpointer _tmp9_ = NULL;
			DataView* view = NULL;
			DataObject* _tmp10_ = NULL;
			DataView* _tmp11_ = NULL;
			gboolean _tmp12_ = FALSE;
			DataView* _tmp13_ = NULL;
			gboolean _tmp14_ = FALSE;
			LibraryPhoto* photo = NULL;
			DataView* _tmp20_ = NULL;
			DataSource* _tmp21_ = NULL;
			LibraryPhoto* _tmp22_ = NULL;
			LibraryPhoto* _tmp23_ = NULL;
			gboolean _tmp24_ = FALSE;
			LibraryPhoto* _tmp25_ = NULL;
			gboolean _tmp26_ = FALSE;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp6_ = _object_it;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp7_ = gee_iterator_next (_tmp6_);
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (!_tmp7_) {
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 3078 "CollectionPage.c"
			}
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp8_ = _object_it;
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp9_ = gee_iterator_get (_tmp8_);
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			object = (DataObject*) _tmp9_;
#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp10_ = object;
#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_VIEW, DataView));
#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			view = _tmp11_;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp13_ = view;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp14_ = data_view_is_selected (_tmp13_);
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (!_tmp14_) {
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp12_ = TRUE;
#line 3100 "CollectionPage.c"
			} else {
				GeeMap* _tmp15_ = NULL;
				DataView* _tmp16_ = NULL;
				gpointer _tmp17_ = NULL;
				Alteration* _tmp18_ = NULL;
				gboolean _tmp19_ = FALSE;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp15_ = altered;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp16_ = view;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp17_ = gee_map_get (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject));
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp18_ = (Alteration*) _tmp17_;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp19_ = alteration_has_subject (_tmp18_, "image");
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp12_ = !_tmp19_;
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_alteration_unref0 (_tmp18_);
#line 3121 "CollectionPage.c"
			}
#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp12_) {
#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (view);
#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (object);
#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				continue;
#line 3131 "CollectionPage.c"
			}
#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp20_ = view;
#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp21_ = data_view_get_source (_tmp20_);
#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp22_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp21_) : NULL;
#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp22_ == NULL) {
#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (_tmp21_);
#line 3143 "CollectionPage.c"
			}
#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			photo = _tmp22_;
#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp23_ = photo;
#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp23_ == NULL) {
#line 298 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (photo);
#line 298 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (view);
#line 298 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (object);
#line 298 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				continue;
#line 3159 "CollectionPage.c"
			}
#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp24_ = collection_page_can_revert_selected (self);
#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp24_);
#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp25_ = photo;
#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp26_ = photo_has_color_adjustments (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_PHOTO, Photo));
#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CopyColorAdjustments", _tmp26_);
#line 305 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (photo);
#line 305 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (view);
#line 305 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (object);
#line 305 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			break;
#line 3179 "CollectionPage.c"
		}
#line 290 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_object_it);
#line 3183 "CollectionPage.c"
	}
}


static void collection_page_on_print (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 310 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 310 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 310 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 310 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ > 0;
#line 310 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 310 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 3207 "CollectionPage.c"
		PrintManager* _tmp4_ = NULL;
		PrintManager* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
		ViewCollection* _tmp7_ = NULL;
		GeeList* _tmp8_ = NULL;
		GeeCollection* _tmp9_ = NULL;
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = print_manager_get_instance ();
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = _tmp4_;
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp7_ = _tmp6_;
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = view_collection_get_selected_sources_of_type (_tmp7_, TYPE_PHOTO);
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection);
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		print_manager_spool_photo (_tmp5_, _tmp9_);
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp9_);
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp7_);
#line 311 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_print_manager_unref0 (_tmp5_);
#line 3234 "CollectionPage.c"
	}
}


static void collection_page_on_external_app_changed (CollectionPage* self) {
	gint selected_count = 0;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	gboolean _tmp4_ = FALSE;
	gint _tmp5_ = 0;
#line 316 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_;
#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	selected_count = _tmp3_;
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = selected_count;
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp5_ == 1) {
#line 3265 "CollectionPage.c"
		ConfigFacade* _tmp6_ = NULL;
		ConfigFacade* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		gchar* _tmp9_ = NULL;
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = config_facade_get_instance ();
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp7_ = _tmp6_;
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = _tmp8_;
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = g_strcmp0 (_tmp9_, "") != 0;
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (_tmp9_);
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp7_);
#line 3284 "CollectionPage.c"
	} else {
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = FALSE;
#line 3288 "CollectionPage.c"
	}
#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp4_);
#line 3292 "CollectionPage.c"
}


static void collection_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers) {
	CollectionPage * self;
	Thumbnail* thumbnail = NULL;
	CheckerboardItem* _tmp0_ = NULL;
	Thumbnail* _tmp1_ = NULL;
	Thumbnail* _tmp2_ = NULL;
	MediaSource* _tmp3_ = NULL;
	MediaSource* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	LibraryPhoto* photo = NULL;
	Thumbnail* _tmp6_ = NULL;
	MediaSource* _tmp7_ = NULL;
	LibraryPhoto* _tmp8_ = NULL;
	LibraryPhoto* _tmp9_ = NULL;
	LibraryPhoto* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	CheckerboardPageActivator _tmp13_ = 0;
#line 328 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 328 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_CHECKERBOARD_ITEM (item));
#line 328 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (modifiers != NULL);
#line 330 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = item;
#line 330 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL, Thumbnail));
#line 330 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	thumbnail = _tmp1_;
#line 335 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = thumbnail;
#line 335 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = thumbnail_get_media_source (_tmp2_);
#line 335 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = _tmp3_;
#line 335 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, TYPE_VIDEO);
#line 335 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp4_);
#line 335 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp5_) {
#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		media_page_on_play_video (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage));
#line 337 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (thumbnail);
#line 337 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 3344 "CollectionPage.c"
	}
#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = thumbnail;
#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = thumbnail_get_media_source (_tmp6_);
#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp7_) : NULL;
#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp8_ == NULL) {
#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp7_);
#line 3356 "CollectionPage.c"
	}
#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photo = _tmp8_;
#line 341 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = photo;
#line 341 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp9_ == NULL) {
#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (photo);
#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (thumbnail);
#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 3370 "CollectionPage.c"
	}
#line 345 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = photo;
#line 345 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject));
#line 345 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = _tmp11_;
#line 345 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_debug ("CollectionPage.vala:345: activating %s", _tmp12_);
#line 345 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_free0 (_tmp12_);
#line 347 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = activator;
#line 347 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp13_ == CHECKERBOARD_PAGE_ACTIVATOR_MOUSE) {
#line 3386 "CollectionPage.c"
		CheckerboardPageKeyboardModifiers _tmp14_ = {0};
		gboolean _tmp15_ = FALSE;
#line 348 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = *modifiers;
#line 348 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp15_ = _tmp14_.super_pressed;
#line 348 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp15_) {
#line 349 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			collection_page_on_external_edit (self);
#line 3397 "CollectionPage.c"
		} else {
			LibraryWindow* _tmp16_ = NULL;
			LibraryWindow* _tmp17_ = NULL;
			LibraryPhoto* _tmp18_ = NULL;
#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp16_ = library_window_get_app ();
#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp17_ = _tmp16_;
#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp18_ = photo;
#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			library_window_switch_to_photo_page (_tmp17_, self, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo));
#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp17_);
#line 3412 "CollectionPage.c"
		}
	} else {
		CheckerboardPageActivator _tmp19_ = 0;
#line 352 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = activator;
#line 352 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp19_ == CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD) {
#line 3420 "CollectionPage.c"
			gboolean _tmp20_ = FALSE;
			CheckerboardPageKeyboardModifiers _tmp21_ = {0};
			gboolean _tmp22_ = FALSE;
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp21_ = *modifiers;
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp22_ = _tmp21_.shift_pressed;
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (!_tmp22_) {
#line 3430 "CollectionPage.c"
				CheckerboardPageKeyboardModifiers _tmp23_ = {0};
				gboolean _tmp24_ = FALSE;
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp23_ = *modifiers;
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp24_ = _tmp23_.ctrl_pressed;
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp20_ = !_tmp24_;
#line 3439 "CollectionPage.c"
			} else {
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp20_ = FALSE;
#line 3443 "CollectionPage.c"
			}
#line 353 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp20_) {
#line 3447 "CollectionPage.c"
				LibraryWindow* _tmp25_ = NULL;
				LibraryWindow* _tmp26_ = NULL;
				LibraryPhoto* _tmp27_ = NULL;
#line 354 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp25_ = library_window_get_app ();
#line 354 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp26_ = _tmp25_;
#line 354 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp27_ = photo;
#line 354 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				library_window_switch_to_photo_page (_tmp26_, self, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_PHOTO, Photo));
#line 354 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (_tmp26_);
#line 3461 "CollectionPage.c"
			}
		}
	}
#line 328 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photo);
#line 328 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (thumbnail);
#line 3469 "CollectionPage.c"
}


static gboolean collection_page_real_on_app_key_pressed (Page* base, GdkEventKey* event) {
	CollectionPage * self;
	gboolean result = FALSE;
	gboolean handled = FALSE;
	GdkEventKey* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label0 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label1 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label2 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label3 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label4 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label5 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label6 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label7 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label8 = 0;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	static GQuark _tmp4_label9 = 0;
#line 3502 "CollectionPage.c"
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
#line 358 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 358 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 359 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	handled = TRUE;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = event;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_->keyval;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = gdk_keyval_name (_tmp1_);
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_;
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if ((((((((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("Page_Up")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("KP_Page_Up"))))) || (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("Page_Down"))))) || (_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("KP_Page_Down"))))) || (_tmp5_ == ((0 != _tmp4_label4) ? _tmp4_label4 : (_tmp4_label4 = g_quark_from_static_string ("Home"))))) || (_tmp5_ == ((0 != _tmp4_label5) ? _tmp4_label5 : (_tmp4_label5 = g_quark_from_static_string ("KP_Home"))))) || (_tmp5_ == ((0 != _tmp4_label6) ? _tmp4_label6 : (_tmp4_label6 = g_quark_from_static_string ("End"))))) || (_tmp5_ == ((0 != _tmp4_label7) ? _tmp4_label7 : (_tmp4_label7 = g_quark_from_static_string ("KP_End"))))) {
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		switch (0) {
#line 3525 "CollectionPage.c"
			default:
			{
				GdkEventKey* _tmp6_ = NULL;
				gboolean _tmp7_ = FALSE;
#line 369 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp6_ = event;
#line 369 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp6_, &_tmp7_);
#line 370 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 3536 "CollectionPage.c"
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label8) ? _tmp4_label8 : (_tmp4_label8 = g_quark_from_static_string ("bracketright")))) {
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		switch (0) {
#line 3542 "CollectionPage.c"
			default:
			{
#line 373 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise");
#line 374 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 3549 "CollectionPage.c"
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label9) ? _tmp4_label9 : (_tmp4_label9 = g_quark_from_static_string ("bracketleft")))) {
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		switch (0) {
#line 3555 "CollectionPage.c"
			default:
			{
#line 377 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise");
#line 378 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 3562 "CollectionPage.c"
			}
		}
	} else {
#line 360 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		switch (0) {
#line 3568 "CollectionPage.c"
			default:
			{
#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				handled = FALSE;
#line 382 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 3575 "CollectionPage.c"
			}
		}
	}
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = handled;
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp9_) {
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = TRUE;
#line 3585 "CollectionPage.c"
	} else {
		GdkEventKey* _tmp10_ = NULL;
		gboolean _tmp11_ = FALSE;
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = event;
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp11_ = PAGE_CLASS (collection_page_parent_class)->on_app_key_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp10_);
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = _tmp11_;
#line 3595 "CollectionPage.c"
	}
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp8_;
#line 385 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 3601 "CollectionPage.c"
}


static void _collection_page_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self) {
#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_on_export_completed ((CollectionPage*) self);
#line 3608 "CollectionPage.c"
}


static void collection_page_real_on_export (MediaPage* base) {
	CollectionPage * self;
	ExporterUI* _tmp0_ = NULL;
	GeeCollection* export_list = NULL;
	ViewCollection* _tmp1_ = NULL;
	ViewCollection* _tmp2_ = NULL;
	GeeList* _tmp3_ = NULL;
	GeeCollection* _tmp4_ = NULL;
	GeeCollection* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	gint _tmp7_ = 0;
	gboolean has_some_photos = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean has_some_videos = FALSE;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	gboolean _tmp11_ = FALSE;
	gboolean _tmp13_ = FALSE;
	gchar* title = NULL;
	gboolean _tmp16_ = FALSE;
	ExportDialog* export_dialog = NULL;
	const gchar* _tmp27_ = NULL;
	ExportDialog* _tmp28_ = NULL;
	ExportFormatParameters _tmp29_ = {0};
	gboolean _tmp30_ = FALSE;
	ExportFormatParameters export_params = {0};
	gint scale = 0;
	ScaleConstraint constraint = 0;
	ExportDialog* _tmp33_ = NULL;
	gint _tmp34_ = 0;
	ScaleConstraint _tmp35_ = 0;
	gboolean _tmp36_ = FALSE;
	Scaling scaling = {0};
	ScaleConstraint _tmp37_ = 0;
	gint _tmp38_ = 0;
	Scaling _tmp39_ = {0};
	GeeCollection* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	GFile* export_dir = NULL;
	const gchar* _tmp77_ = NULL;
	GFile* _tmp78_ = NULL;
	GFile* _tmp79_ = NULL;
	GeeCollection* _tmp80_ = NULL;
	GFile* _tmp81_ = NULL;
	Scaling _tmp82_ = {0};
	ExportFormatParameters _tmp83_ = {0};
	Exporter* _tmp84_ = NULL;
	Exporter* _tmp85_ = NULL;
	ExporterUI* _tmp86_ = NULL;
	ExporterUI* _tmp87_ = NULL;
	GError * _inner_error_ = NULL;
#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 389 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = self->priv->exporter;
#line 389 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp0_ != NULL) {
#line 390 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 3672 "CollectionPage.c"
	}
#line 392 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 392 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _tmp1_;
#line 392 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = view_collection_get_selected_sources (_tmp2_);
#line 392 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection);
#line 392 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp2_);
#line 392 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	export_list = _tmp4_;
#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = export_list;
#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = gee_collection_get_size (_tmp5_);
#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp7_ == 0) {
#line 395 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_list);
#line 395 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 3698 "CollectionPage.c"
	}
#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = collection_page_selection_has_photo (self);
#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	has_some_photos = _tmp8_;
#line 398 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = collection_page_selection_has_video (self);
#line 398 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	has_some_videos = _tmp9_;
#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = has_some_photos;
#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp11_) {
#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = TRUE;
#line 3714 "CollectionPage.c"
	} else {
		gboolean _tmp12_ = FALSE;
#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = has_some_videos;
#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = _tmp12_;
#line 3721 "CollectionPage.c"
	}
#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_vala_assert (_tmp10_, "has_some_photos || has_some_videos");
#line 403 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = has_some_photos;
#line 403 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp13_) {
#line 3729 "CollectionPage.c"
		GeeCollection* _tmp14_ = NULL;
		ExporterUI* _tmp15_ = NULL;
#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = export_list;
#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp15_ = video_export_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _collection_page_on_export_completed_exporter_completion_callback, self, FALSE);
#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_exporter_ui_unref0 (self->priv->exporter);
#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		self->priv->exporter = _tmp15_;
#line 405 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_list);
#line 405 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 3744 "CollectionPage.c"
	}
#line 408 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	title = NULL;
#line 409 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp16_ = has_some_videos;
#line 409 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp16_) {
#line 3752 "CollectionPage.c"
		GeeCollection* _tmp17_ = NULL;
		gint _tmp18_ = 0;
		gint _tmp19_ = 0;
		const gchar* _tmp20_ = NULL;
		gchar* _tmp21_ = NULL;
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp17_ = export_list;
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp18_ = gee_collection_get_size (_tmp17_);
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = _tmp18_;
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp20_ = ngettext ("Export Photo/Video", "Export Photos/Videos", (gulong) _tmp19_);
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp21_ = g_strdup (_tmp20_);
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (title);
#line 410 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		title = _tmp21_;
#line 3772 "CollectionPage.c"
	} else {
		GeeCollection* _tmp22_ = NULL;
		gint _tmp23_ = 0;
		gint _tmp24_ = 0;
		const gchar* _tmp25_ = NULL;
		gchar* _tmp26_ = NULL;
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp22_ = export_list;
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp23_ = gee_collection_get_size (_tmp22_);
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp24_ = _tmp23_;
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp25_ = ngettext ("Export Photo", "Export Photos", (gulong) _tmp24_);
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp26_ = g_strdup (_tmp25_);
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (title);
#line 412 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		title = _tmp26_;
#line 3793 "CollectionPage.c"
	}
#line 413 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp27_ = title;
#line 413 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp28_ = export_dialog_new (_tmp27_);
#line 413 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_object_ref_sink (_tmp28_);
#line 413 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	export_dialog = _tmp28_;
#line 423 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp30_ = has_some_videos;
#line 423 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp30_) {
#line 3807 "CollectionPage.c"
		ExportFormatParameters _tmp31_ = {0};
#line 423 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		export_format_parameters_current (&_tmp31_);
#line 423 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp29_ = _tmp31_;
#line 3813 "CollectionPage.c"
	} else {
		ExportFormatParameters _tmp32_ = {0};
#line 424 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		export_format_parameters_last (&_tmp32_);
#line 424 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp29_ = _tmp32_;
#line 3820 "CollectionPage.c"
	}
#line 423 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	export_params = _tmp29_;
#line 428 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp33_ = export_dialog;
#line 428 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp36_ = export_dialog_execute (_tmp33_, &_tmp34_, &_tmp35_, &export_params);
#line 428 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	scale = _tmp34_;
#line 428 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	constraint = _tmp35_;
#line 428 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (!_tmp36_) {
#line 429 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_dialog);
#line 429 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (title);
#line 429 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_list);
#line 429 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 3842 "CollectionPage.c"
	}
#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp37_ = constraint;
#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp38_ = scale;
#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	scaling_for_constraint (_tmp37_, _tmp38_, FALSE, &_tmp39_);
#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	scaling = _tmp39_;
#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp40_ = export_list;
#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp41_ = gee_collection_get_size (_tmp40_);
#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp42_ = _tmp41_;
#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp42_ == 1) {
#line 3860 "CollectionPage.c"
		LibraryPhoto* photo = NULL;
		GFile* save_as = NULL;
		LibraryPhoto* _tmp51_ = NULL;
		ExportFormatParameters _tmp52_ = {0};
		gchar* _tmp53_ = NULL;
		gchar* _tmp54_ = NULL;
		GFile* _tmp55_ = NULL;
		GFile* _tmp56_ = NULL;
		GFile* _tmp57_ = NULL;
#line 435 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		photo = NULL;
#line 3872 "CollectionPage.c"
		{
			GeeIterator* _p_it = NULL;
			GeeCollection* _tmp43_ = NULL;
			GeeIterator* _tmp44_ = NULL;
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp43_ = export_list;
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp44_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_COLLECTION, GeeCollection), GEE_TYPE_ITERABLE, GeeIterable));
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_p_it = _tmp44_;
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			while (TRUE) {
#line 3885 "CollectionPage.c"
				GeeIterator* _tmp45_ = NULL;
				gboolean _tmp46_ = FALSE;
				LibraryPhoto* p = NULL;
				GeeIterator* _tmp47_ = NULL;
				gpointer _tmp48_ = NULL;
				LibraryPhoto* _tmp49_ = NULL;
				LibraryPhoto* _tmp50_ = NULL;
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp45_ = _p_it;
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp46_ = gee_iterator_next (_tmp45_);
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				if (!_tmp46_) {
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
					break;
#line 3901 "CollectionPage.c"
				}
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp47_ = _p_it;
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp48_ = gee_iterator_get (_tmp47_);
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				p = (LibraryPhoto*) _tmp48_;
#line 437 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp49_ = p;
#line 437 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp50_ = _g_object_ref0 (_tmp49_);
#line 437 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (photo);
#line 437 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				photo = _tmp50_;
#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (p);
#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 3921 "CollectionPage.c"
			}
#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_p_it);
#line 3925 "CollectionPage.c"
		}
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp51_ = photo;
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp52_ = export_params;
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp53_ = photo_get_export_basename_for_parameters (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_PHOTO, Photo), &_tmp52_);
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp54_ = _tmp53_;
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp55_ = export_ui_choose_file (_tmp54_);
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp56_ = _tmp55_;
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (_tmp54_);
#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		save_as = _tmp56_;
#line 443 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp57_ = save_as;
#line 443 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp57_ == NULL) {
#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (save_as);
#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (photo);
#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (export_dialog);
#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_free0 (title);
#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (export_list);
#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			return;
#line 3959 "CollectionPage.c"
		}
		{
			AppWindow* _tmp58_ = NULL;
			AppWindow* _tmp59_ = NULL;
			LibraryPhoto* _tmp60_ = NULL;
			GFile* _tmp61_ = NULL;
			Scaling _tmp62_ = {0};
			ExportFormatParameters _tmp63_ = {0};
			JpegQuality _tmp64_ = 0;
			LibraryPhoto* _tmp65_ = NULL;
			ExportFormatParameters _tmp66_ = {0};
			PhotoFileFormat _tmp67_ = 0;
			ExportFormatParameters _tmp68_ = {0};
			ExportFormatMode _tmp69_ = 0;
			ExportFormatParameters _tmp70_ = {0};
			gboolean _tmp71_ = FALSE;
			AppWindow* _tmp72_ = NULL;
			AppWindow* _tmp73_ = NULL;
#line 447 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp58_ = app_window_get_instance ();
#line 447 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp59_ = _tmp58_;
#line 447 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, TYPE_PAGE_WINDOW, PageWindow));
#line 447 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp59_);
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp60_ = photo;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp61_ = save_as;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp62_ = scaling;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp63_ = export_params;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp64_ = _tmp63_.quality;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp65_ = photo;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp66_ = export_params;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp67_ = photo_get_export_format_for_parameters (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, TYPE_PHOTO, Photo), &_tmp66_);
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp68_ = export_params;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp69_ = _tmp68_.mode;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp70_ = export_params;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp71_ = _tmp70_.export_metadata;
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			photo_export (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_PHOTO, Photo), _tmp61_, &_tmp62_, _tmp64_, _tmp67_, _tmp69_ == EXPORT_FORMAT_MODE_UNMODIFIED, _tmp71_, &_inner_error_);
#line 448 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 4014 "CollectionPage.c"
				goto __catch236_g_error;
			}
#line 451 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp72_ = app_window_get_instance ();
#line 451 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp73_ = _tmp72_;
#line 451 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_PAGE_WINDOW, PageWindow));
#line 451 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp73_);
#line 4025 "CollectionPage.c"
		}
		goto __finally236;
		__catch236_g_error:
		{
			GError* err = NULL;
			AppWindow* _tmp74_ = NULL;
			AppWindow* _tmp75_ = NULL;
			GFile* _tmp76_ = NULL;
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			err = _inner_error_;
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_inner_error_ = NULL;
#line 453 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp74_ = app_window_get_instance ();
#line 453 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp75_ = _tmp74_;
#line 453 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, TYPE_PAGE_WINDOW, PageWindow));
#line 453 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp75_);
#line 454 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp76_ = save_as;
#line 454 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			export_error_dialog (_tmp76_, FALSE);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_error_free0 (err);
#line 4052 "CollectionPage.c"
		}
		__finally236:
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (save_as);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (photo);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (export_dialog);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_free0 (title);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (export_list);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.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 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			g_clear_error (&_inner_error_);
#line 446 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			return;
#line 4073 "CollectionPage.c"
		}
#line 457 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (save_as);
#line 457 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (photo);
#line 457 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_dialog);
#line 457 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (title);
#line 457 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_list);
#line 457 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4087 "CollectionPage.c"
	}
#line 461 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp77_ = title;
#line 461 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp78_ = export_ui_choose_dir (_tmp77_);
#line 461 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	export_dir = _tmp78_;
#line 462 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp79_ = export_dir;
#line 462 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp79_ == NULL) {
#line 463 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_dir);
#line 463 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_dialog);
#line 463 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (title);
#line 463 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (export_list);
#line 463 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4109 "CollectionPage.c"
	}
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp80_ = export_list;
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp81_ = export_dir;
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp82_ = scaling;
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp83_ = export_params;
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp84_ = exporter_new (_tmp80_, _tmp81_, &_tmp82_, &_tmp83_, FALSE);
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp85_ = _tmp84_;
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp86_ = exporter_ui_new (_tmp85_);
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_exporter_ui_unref0 (self->priv->exporter);
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv->exporter = _tmp86_;
#line 465 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp85_);
#line 466 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp87_ = self->priv->exporter;
#line 466 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	exporter_ui_export (_tmp87_, _collection_page_on_export_completed_exporter_completion_callback, self);
#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (export_dir);
#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (export_dialog);
#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_free0 (title);
#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (export_list);
#line 4143 "CollectionPage.c"
}


static void collection_page_on_export_completed (CollectionPage* self) {
#line 469 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 470 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_exporter_ui_unref0 (self->priv->exporter);
#line 470 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv->exporter = NULL;
#line 4154 "CollectionPage.c"
}


static gboolean collection_page_can_revert_selected (CollectionPage* self) {
	gboolean result = FALSE;
#line 473 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE);
#line 4162 "CollectionPage.c"
	{
		GeeList* _source_list = NULL;
		ViewCollection* _tmp0_ = NULL;
		ViewCollection* _tmp1_ = NULL;
		GeeList* _tmp2_ = NULL;
		GeeList* _tmp3_ = NULL;
		gint _source_size = 0;
		GeeList* _tmp4_ = NULL;
		gint _tmp5_ = 0;
		gint _tmp6_ = 0;
		gint _source_index = 0;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp1_ = _tmp0_;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp2_ = view_collection_get_selected_sources (_tmp1_);
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp3_ = _tmp2_;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp1_);
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_source_list = _tmp3_;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = _source_list;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection));
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = _tmp5_;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_source_size = _tmp6_;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_source_index = -1;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		while (TRUE) {
#line 4198 "CollectionPage.c"
			gint _tmp7_ = 0;
			gint _tmp8_ = 0;
			gint _tmp9_ = 0;
			DataSource* source = NULL;
			GeeList* _tmp10_ = NULL;
			gint _tmp11_ = 0;
			gpointer _tmp12_ = NULL;
			LibraryPhoto* photo = NULL;
			DataSource* _tmp13_ = NULL;
			LibraryPhoto* _tmp14_ = NULL;
			gboolean _tmp15_ = FALSE;
			LibraryPhoto* _tmp16_ = NULL;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp7_ = _source_index;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_source_index = _tmp7_ + 1;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp8_ = _source_index;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp9_ = _source_size;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (!(_tmp8_ < _tmp9_)) {
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 4223 "CollectionPage.c"
			}
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp10_ = _source_list;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp11_ = _source_index;
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp12_ = gee_list_get (_tmp10_, _tmp11_);
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			source = (DataSource*) _tmp12_;
#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp13_ = source;
#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp13_) : NULL);
#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			photo = _tmp14_;
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp16_ = photo;
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp16_ != NULL) {
#line 4243 "CollectionPage.c"
				gboolean _tmp17_ = FALSE;
				LibraryPhoto* _tmp18_ = NULL;
				gboolean _tmp19_ = FALSE;
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp18_ = photo;
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp19_ = photo_has_transformations (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo));
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				if (_tmp19_) {
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
					_tmp17_ = TRUE;
#line 4255 "CollectionPage.c"
				} else {
					LibraryPhoto* _tmp20_ = NULL;
					gboolean _tmp21_ = FALSE;
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
					_tmp20_ = photo;
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
					_tmp21_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo));
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
					_tmp17_ = _tmp21_;
#line 4265 "CollectionPage.c"
				}
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp15_ = _tmp17_;
#line 4269 "CollectionPage.c"
			} else {
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp15_ = FALSE;
#line 4273 "CollectionPage.c"
			}
#line 476 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp15_) {
#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				result = TRUE;
#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (photo);
#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (source);
#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (_source_list);
#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				return result;
#line 4287 "CollectionPage.c"
			}
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (photo);
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (source);
#line 4293 "CollectionPage.c"
		}
#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_source_list);
#line 4297 "CollectionPage.c"
	}
#line 480 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = FALSE;
#line 480 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 4303 "CollectionPage.c"
}


static gboolean collection_page_can_revert_editable_selected (CollectionPage* self) {
	gboolean result = FALSE;
#line 483 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE);
#line 4311 "CollectionPage.c"
	{
		GeeList* _source_list = NULL;
		ViewCollection* _tmp0_ = NULL;
		ViewCollection* _tmp1_ = NULL;
		GeeList* _tmp2_ = NULL;
		GeeList* _tmp3_ = NULL;
		gint _source_size = 0;
		GeeList* _tmp4_ = NULL;
		gint _tmp5_ = 0;
		gint _tmp6_ = 0;
		gint _source_index = 0;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp1_ = _tmp0_;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp2_ = view_collection_get_selected_sources (_tmp1_);
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp3_ = _tmp2_;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp1_);
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_source_list = _tmp3_;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = _source_list;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection));
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = _tmp5_;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_source_size = _tmp6_;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_source_index = -1;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		while (TRUE) {
#line 4347 "CollectionPage.c"
			gint _tmp7_ = 0;
			gint _tmp8_ = 0;
			gint _tmp9_ = 0;
			DataSource* source = NULL;
			GeeList* _tmp10_ = NULL;
			gint _tmp11_ = 0;
			gpointer _tmp12_ = NULL;
			LibraryPhoto* photo = NULL;
			DataSource* _tmp13_ = NULL;
			LibraryPhoto* _tmp14_ = NULL;
			gboolean _tmp15_ = FALSE;
			LibraryPhoto* _tmp16_ = NULL;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp7_ = _source_index;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_source_index = _tmp7_ + 1;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp8_ = _source_index;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp9_ = _source_size;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (!(_tmp8_ < _tmp9_)) {
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 4372 "CollectionPage.c"
			}
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp10_ = _source_list;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp11_ = _source_index;
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp12_ = gee_list_get (_tmp10_, _tmp11_);
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			source = (DataSource*) _tmp12_;
#line 485 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp13_ = source;
#line 485 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp13_) : NULL);
#line 485 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			photo = _tmp14_;
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp16_ = photo;
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp16_ != NULL) {
#line 4392 "CollectionPage.c"
				LibraryPhoto* _tmp17_ = NULL;
				gboolean _tmp18_ = FALSE;
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp17_ = photo;
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp18_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo));
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp15_ = _tmp18_;
#line 4401 "CollectionPage.c"
			} else {
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp15_ = FALSE;
#line 4405 "CollectionPage.c"
			}
#line 486 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp15_) {
#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				result = TRUE;
#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (photo);
#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (source);
#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (_source_list);
#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				return result;
#line 4419 "CollectionPage.c"
			}
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (photo);
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (source);
#line 4425 "CollectionPage.c"
		}
#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_source_list);
#line 4429 "CollectionPage.c"
	}
#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = FALSE;
#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 4435 "CollectionPage.c"
}


static void collection_page_on_rotate_clockwise (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	RotateMultipleCommand* command = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	const gchar* _tmp9_ = NULL;
	RotateMultipleCommand* _tmp10_ = NULL;
	RotateMultipleCommand* _tmp11_ = NULL;
	CommandManager* _tmp12_ = NULL;
	CommandManager* _tmp13_ = NULL;
	RotateMultipleCommand* _tmp14_ = NULL;
#line 493 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 495 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4472 "CollectionPage.c"
	}
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _ ("Rotating");
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = _ ("Undoing Rotate");
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_CLOCKWISE, RESOURCES_ROTATE_CW_FULL_LABEL, RESOURCES_ROTATE_CW_TOOLTIP, _tmp8_, _tmp9_);
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = _tmp10_;
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp11_;
#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = _tmp12_;
#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14_ = command;
#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command));
#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp13_);
#line 493 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 4508 "CollectionPage.c"
}


static void collection_page_on_publish (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 504 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 504 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 504 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 504 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ > 0;
#line 504 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 504 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 4531 "CollectionPage.c"
		ViewCollection* _tmp4_ = NULL;
		ViewCollection* _tmp5_ = NULL;
		GeeList* _tmp6_ = NULL;
		GeeCollection* _tmp7_ = NULL;
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = _tmp4_;
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = view_collection_get_selected_sources (_tmp5_);
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection);
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		publishing_ui_publishing_dialog_go (_tmp7_);
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp7_);
#line 505 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp5_);
#line 4550 "CollectionPage.c"
	}
}


static void collection_page_on_rotate_counterclockwise (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	RotateMultipleCommand* command = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	const gchar* _tmp9_ = NULL;
	RotateMultipleCommand* _tmp10_ = NULL;
	RotateMultipleCommand* _tmp11_ = NULL;
	CommandManager* _tmp12_ = NULL;
	CommandManager* _tmp13_ = NULL;
	RotateMultipleCommand* _tmp14_ = NULL;
#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 510 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 510 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 510 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 510 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 510 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 510 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4588 "CollectionPage.c"
	}
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _ ("Rotating");
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = _ ("Undoing Rotate");
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_COUNTERCLOCKWISE, RESOURCES_ROTATE_CCW_FULL_LABEL, RESOURCES_ROTATE_CCW_TOOLTIP, _tmp8_, _tmp9_);
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = _tmp10_;
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 513 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp11_;
#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = _tmp12_;
#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14_ = command;
#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command));
#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp13_);
#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 4624 "CollectionPage.c"
}


static void collection_page_on_flip_horizontally (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	RotateMultipleCommand* command = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	const gchar* _tmp9_ = NULL;
	RotateMultipleCommand* _tmp10_ = NULL;
	RotateMultipleCommand* _tmp11_ = NULL;
	CommandManager* _tmp12_ = NULL;
	CommandManager* _tmp13_ = NULL;
	RotateMultipleCommand* _tmp14_ = NULL;
#line 519 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 521 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4661 "CollectionPage.c"
	}
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _ ("Flipping Horizontally");
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = _ ("Undoing Flip Horizontally");
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_MIRROR, RESOURCES_HFLIP_LABEL, "", _tmp8_, _tmp9_);
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = _tmp10_;
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp11_;
#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = _tmp12_;
#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14_ = command;
#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command));
#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp13_);
#line 519 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 4697 "CollectionPage.c"
}


static void collection_page_on_flip_vertically (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	RotateMultipleCommand* command = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	const gchar* _tmp9_ = NULL;
	RotateMultipleCommand* _tmp10_ = NULL;
	RotateMultipleCommand* _tmp11_ = NULL;
	CommandManager* _tmp12_ = NULL;
	CommandManager* _tmp13_ = NULL;
	RotateMultipleCommand* _tmp14_ = NULL;
#line 529 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 531 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4734 "CollectionPage.c"
	}
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _ ("Flipping Vertically");
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = _ ("Undoing Flip Vertically");
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_UPSIDE_DOWN, RESOURCES_VFLIP_LABEL, "", _tmp8_, _tmp9_);
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = _tmp10_;
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp11_;
#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = _tmp12_;
#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14_ = command;
#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command));
#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp13_);
#line 529 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 4770 "CollectionPage.c"
}


static void collection_page_on_revert (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	RevertMultipleCommand* command = NULL;
	ViewCollection* _tmp27_ = NULL;
	ViewCollection* _tmp28_ = NULL;
	GeeList* _tmp29_ = NULL;
	GeeList* _tmp30_ = NULL;
	RevertMultipleCommand* _tmp31_ = NULL;
	RevertMultipleCommand* _tmp32_ = NULL;
	CommandManager* _tmp33_ = NULL;
	CommandManager* _tmp34_ = NULL;
	RevertMultipleCommand* _tmp35_ = NULL;
#line 539 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 541 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4806 "CollectionPage.c"
	}
#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = collection_page_can_revert_editable_selected (self);
#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp4_) {
#line 4812 "CollectionPage.c"
		AppWindow* _tmp5_ = NULL;
		AppWindow* _tmp6_ = NULL;
		ViewCollection* _tmp7_ = NULL;
		ViewCollection* _tmp8_ = NULL;
		GeeList* _tmp9_ = NULL;
		GeeCollection* _tmp10_ = NULL;
		gboolean _tmp11_ = FALSE;
		gboolean _tmp12_ = FALSE;
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = app_window_get_instance ();
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = _tmp5_;
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = _tmp7_;
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = view_collection_get_selected_sources (_tmp8_);
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection);
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp11_ = revert_editable_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_window_get_type (), GtkWindow), _tmp10_);
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = !_tmp11_;
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp10_);
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp8_);
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp6_);
#line 544 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp12_) {
#line 546 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			return;
#line 4847 "CollectionPage.c"
		}
		{
			GeeList* _object_list = NULL;
			ViewCollection* _tmp13_ = NULL;
			ViewCollection* _tmp14_ = NULL;
			GeeList* _tmp15_ = NULL;
			GeeList* _tmp16_ = NULL;
			gint _object_size = 0;
			GeeList* _tmp17_ = NULL;
			gint _tmp18_ = 0;
			gint _tmp19_ = 0;
			gint _object_index = 0;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp14_ = _tmp13_;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp15_ = view_collection_get_selected_sources (_tmp14_);
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp16_ = _tmp15_;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_data_collection_unref0 (_tmp14_);
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_object_list = _tmp16_;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp17_ = _object_list;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection));
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp19_ = _tmp18_;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_object_size = _tmp19_;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_object_index = -1;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			while (TRUE) {
#line 4884 "CollectionPage.c"
				gint _tmp20_ = 0;
				gint _tmp21_ = 0;
				gint _tmp22_ = 0;
				DataObject* object = NULL;
				GeeList* _tmp23_ = NULL;
				gint _tmp24_ = 0;
				gpointer _tmp25_ = NULL;
				DataObject* _tmp26_ = NULL;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp20_ = _object_index;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_object_index = _tmp20_ + 1;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp21_ = _object_index;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp22_ = _object_size;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				if (!(_tmp21_ < _tmp22_)) {
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
					break;
#line 4905 "CollectionPage.c"
				}
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp23_ = _object_list;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp24_ = _object_index;
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp25_ = gee_list_get (_tmp23_, _tmp24_);
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				object = G_TYPE_CHECK_INSTANCE_CAST ((DataSource*) _tmp25_, TYPE_DATA_OBJECT, DataObject);
#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp26_ = object;
#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				photo_revert_to_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_PHOTO, Photo), TRUE);
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (object);
#line 4921 "CollectionPage.c"
			}
#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_object_list);
#line 4925 "CollectionPage.c"
		}
	}
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp27_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp28_ = _tmp27_;
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp29_ = view_collection_get_selected (_tmp28_);
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp30_ = _tmp29_;
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp31_ = revert_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable));
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp32_ = _tmp31_;
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp30_);
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp28_);
#line 553 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp32_;
#line 554 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp33_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 554 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp34_ = _tmp33_;
#line 554 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp35_ = command;
#line 554 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_COMMAND, Command));
#line 554 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp34_);
#line 539 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 4958 "CollectionPage.c"
}


void collection_page_on_copy_adjustments (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	Photo* photo = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	DataView* _tmp6_ = NULL;
	DataView* _tmp7_ = NULL;
	DataSource* _tmp8_ = NULL;
	Photo* _tmp9_ = NULL;
	Photo* _tmp10_ = NULL;
	PixelTransformationBundle* _tmp11_ = NULL;
	PixelTransformationBundle* _tmp12_ = NULL;
#line 557 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 558 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 558 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 558 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 558 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ != 1;
#line 558 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 558 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 4993 "CollectionPage.c"
	}
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected_at (_tmp5_, 0);
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = data_view_get_source (_tmp7_);
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo);
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 560 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photo = _tmp9_;
#line 561 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = photo;
#line 561 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = photo_get_color_adjustments (_tmp10_);
#line 561 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = _tmp11_;
#line 561 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	pixel_transformation_bundle_set_copied_color_adjustments (_tmp12_);
#line 561 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_pixel_transformation_bundle_unref0 (_tmp12_);
#line 562 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", TRUE);
#line 557 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photo);
#line 5027 "CollectionPage.c"
}


void collection_page_on_paste_adjustments (CollectionPage* self) {
	PixelTransformationBundle* copied_adjustments = NULL;
	PixelTransformationBundle* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	ViewCollection* _tmp2_ = NULL;
	ViewCollection* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gboolean _tmp5_ = FALSE;
	AdjustColorsMultipleCommand* command = NULL;
	ViewCollection* _tmp7_ = NULL;
	ViewCollection* _tmp8_ = NULL;
	GeeList* _tmp9_ = NULL;
	GeeList* _tmp10_ = NULL;
	PixelTransformationBundle* _tmp11_ = NULL;
	AdjustColorsMultipleCommand* _tmp12_ = NULL;
	AdjustColorsMultipleCommand* _tmp13_ = NULL;
	CommandManager* _tmp14_ = NULL;
	CommandManager* _tmp15_ = NULL;
	AdjustColorsMultipleCommand* _tmp16_ = NULL;
#line 565 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = pixel_transformation_bundle_get_copied_color_adjustments ();
#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	copied_adjustments = _tmp0_;
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_;
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = view_collection_get_selected_count (_tmp3_);
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_ == 0;
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp3_);
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp5_) {
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp1_ = TRUE;
#line 5070 "CollectionPage.c"
	} else {
		PixelTransformationBundle* _tmp6_ = NULL;
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = copied_adjustments;
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp1_ = _tmp6_ == NULL;
#line 5077 "CollectionPage.c"
	}
#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp1_) {
#line 568 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_pixel_transformation_bundle_unref0 (copied_adjustments);
#line 568 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5085 "CollectionPage.c"
	}
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _tmp7_;
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = view_collection_get_selected (_tmp8_);
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = _tmp9_;
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = copied_adjustments;
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = adjust_colors_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable), _tmp11_, RESOURCES_PASTE_ADJUSTMENTS_LABEL, RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP);
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp13_ = _tmp12_;
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp10_);
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp8_);
#line 570 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp13_;
#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp14_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp15_ = _tmp14_;
#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp16_ = command;
#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_COMMAND, Command));
#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp15_);
#line 565 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 565 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_pixel_transformation_bundle_unref0 (copied_adjustments);
#line 5121 "CollectionPage.c"
}


static void collection_page_on_enhance (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	EnhanceMultipleCommand* command = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	EnhanceMultipleCommand* _tmp8_ = NULL;
	EnhanceMultipleCommand* _tmp9_ = NULL;
	CommandManager* _tmp10_ = NULL;
	CommandManager* _tmp11_ = NULL;
	EnhanceMultipleCommand* _tmp12_ = NULL;
#line 575 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 577 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5156 "CollectionPage.c"
	}
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = enhance_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable));
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = _tmp8_;
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp9_;
#line 580 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 580 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = _tmp10_;
#line 580 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = command;
#line 580 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command));
#line 580 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp11_);
#line 575 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 5188 "CollectionPage.c"
}


static void collection_page_on_duplicate_photo (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	DuplicateMultiplePhotosCommand* command = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	DuplicateMultiplePhotosCommand* _tmp8_ = NULL;
	DuplicateMultiplePhotosCommand* _tmp9_ = NULL;
	CommandManager* _tmp10_ = NULL;
	CommandManager* _tmp11_ = NULL;
	DuplicateMultiplePhotosCommand* _tmp12_ = NULL;
#line 583 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 584 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 584 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 584 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 584 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 584 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 584 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 585 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5223 "CollectionPage.c"
	}
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = duplicate_multiple_photos_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable));
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = _tmp8_;
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command = _tmp9_;
#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = _tmp10_;
#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp12_ = command;
#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command));
#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_command_manager_unref0 (_tmp11_);
#line 583 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (command);
#line 5255 "CollectionPage.c"
}


static void collection_page_on_adjust_date_time (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	gboolean selected_has_videos = FALSE;
	gboolean only_videos_selected = FALSE;
	Dateable* photo_source = NULL;
	ViewCollection* _tmp21_ = NULL;
	ViewCollection* _tmp22_ = NULL;
	DataView* _tmp23_ = NULL;
	DataView* _tmp24_ = NULL;
	DataSource* _tmp25_ = NULL;
	Dateable* _tmp26_ = NULL;
	AdjustDateTimeDialog* dialog = NULL;
	Dateable* _tmp27_ = NULL;
	ViewCollection* _tmp28_ = NULL;
	ViewCollection* _tmp29_ = NULL;
	gint _tmp30_ = 0;
	gboolean _tmp31_ = FALSE;
	gboolean _tmp32_ = FALSE;
	AdjustDateTimeDialog* _tmp33_ = NULL;
	AdjustDateTimeDialog* _tmp34_ = NULL;
	gint64 time_shift = 0LL;
	gboolean keep_relativity = FALSE;
	gboolean modify_originals = FALSE;
	AdjustDateTimeDialog* _tmp35_ = NULL;
	gint64 _tmp36_ = 0LL;
	gboolean _tmp37_ = FALSE;
	gboolean _tmp38_ = FALSE;
	gboolean _tmp39_ = FALSE;
#line 592 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 593 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 593 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 593 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 593 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 593 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 593 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 594 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5306 "CollectionPage.c"
	}
#line 596 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	selected_has_videos = FALSE;
#line 597 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	only_videos_selected = TRUE;
#line 5312 "CollectionPage.c"
	{
		GeeList* _dv_list = NULL;
		ViewCollection* _tmp4_ = NULL;
		ViewCollection* _tmp5_ = NULL;
		GeeList* _tmp6_ = NULL;
		GeeList* _tmp7_ = NULL;
		gint _dv_size = 0;
		GeeList* _tmp8_ = NULL;
		gint _tmp9_ = 0;
		gint _tmp10_ = 0;
		gint _dv_index = 0;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = _tmp4_;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = view_collection_get_selected (_tmp5_);
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp7_ = _tmp6_;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp5_);
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_dv_list = _tmp7_;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp8_ = _dv_list;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection));
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = _tmp9_;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_dv_size = _tmp10_;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_dv_index = -1;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		while (TRUE) {
#line 5348 "CollectionPage.c"
			gint _tmp11_ = 0;
			gint _tmp12_ = 0;
			gint _tmp13_ = 0;
			DataView* dv = NULL;
			GeeList* _tmp14_ = NULL;
			gint _tmp15_ = 0;
			gpointer _tmp16_ = NULL;
			DataView* _tmp17_ = NULL;
			DataSource* _tmp18_ = NULL;
			DataSource* _tmp19_ = NULL;
			gboolean _tmp20_ = FALSE;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp11_ = _dv_index;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_dv_index = _tmp11_ + 1;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp12_ = _dv_index;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp13_ = _dv_size;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (!(_tmp12_ < _tmp13_)) {
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				break;
#line 5372 "CollectionPage.c"
			}
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp14_ = _dv_list;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp15_ = _dv_index;
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp16_ = gee_list_get (_tmp14_, _tmp15_);
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			dv = (DataView*) _tmp16_;
#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp17_ = dv;
#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp18_ = data_view_get_source (_tmp17_);
#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp19_ = _tmp18_;
#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp20_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_VIDEO);
#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp19_);
#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp20_) {
#line 601 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				selected_has_videos = TRUE;
#line 5396 "CollectionPage.c"
			} else {
#line 603 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				only_videos_selected = FALSE;
#line 5400 "CollectionPage.c"
			}
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (dv);
#line 5404 "CollectionPage.c"
		}
#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_dv_list);
#line 5408 "CollectionPage.c"
	}
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp21_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp22_ = _tmp21_;
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp23_ = view_collection_get_selected_at (_tmp22_, 0);
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp24_ = _tmp23_;
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp25_ = data_view_get_source (_tmp24_);
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp26_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATEABLE, Dateable);
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp24_);
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp22_);
#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photo_source = _tmp26_;
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp27_ = photo_source;
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp28_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp29_ = _tmp28_;
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp30_ = view_collection_get_selected_count (_tmp29_);
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp31_ = selected_has_videos;
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp32_ = only_videos_selected;
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp33_ = adjust_date_time_dialog_new (_tmp27_, _tmp30_, TRUE, _tmp31_, _tmp32_);
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_object_ref_sink (_tmp33_);
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp34_ = _tmp33_;
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp29_);
#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	dialog = _tmp34_;
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp35_ = dialog;
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp39_ = adjust_date_time_dialog_execute (_tmp35_, &_tmp36_, &_tmp37_, &_tmp38_);
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	time_shift = _tmp36_;
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	keep_relativity = _tmp37_;
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	modify_originals = _tmp38_;
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp39_) {
#line 5462 "CollectionPage.c"
		AdjustDateTimePhotosCommand* command = NULL;
		ViewCollection* _tmp40_ = NULL;
		ViewCollection* _tmp41_ = NULL;
		GeeList* _tmp42_ = NULL;
		GeeList* _tmp43_ = NULL;
		gint64 _tmp44_ = 0LL;
		gboolean _tmp45_ = FALSE;
		gboolean _tmp46_ = FALSE;
		AdjustDateTimePhotosCommand* _tmp47_ = NULL;
		AdjustDateTimePhotosCommand* _tmp48_ = NULL;
		CommandManager* _tmp49_ = NULL;
		CommandManager* _tmp50_ = NULL;
		AdjustDateTimePhotosCommand* _tmp51_ = NULL;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp40_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp41_ = _tmp40_;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp42_ = view_collection_get_selected (_tmp41_);
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp43_ = _tmp42_;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp44_ = time_shift;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp45_ = keep_relativity;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp46_ = modify_originals;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp47_ = adjust_date_time_photos_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_ITERABLE, GeeIterable), _tmp44_, _tmp45_, _tmp46_);
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp48_ = _tmp47_;
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp43_);
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp41_);
#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		command = _tmp48_;
#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp49_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp50_ = _tmp49_;
#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp51_ = command;
#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		command_manager_execute (_tmp50_, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_COMMAND, Command));
#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_command_manager_unref0 (_tmp50_);
#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (command);
#line 5512 "CollectionPage.c"
	}
#line 592 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (dialog);
#line 592 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photo_source);
#line 5518 "CollectionPage.c"
}


static void collection_page_on_external_edit (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	Photo* photo = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	DataView* _tmp6_ = NULL;
	DataView* _tmp7_ = NULL;
	DataSource* _tmp8_ = NULL;
	Photo* _tmp9_ = NULL;
	GError * _inner_error_ = NULL;
#line 620 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ != 1;
#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5551 "CollectionPage.c"
	}
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected_at (_tmp5_, 0);
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = data_view_get_source (_tmp7_);
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo);
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 624 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photo = _tmp9_;
#line 5571 "CollectionPage.c"
	{
		AppWindow* _tmp10_ = NULL;
		AppWindow* _tmp11_ = NULL;
		Photo* _tmp12_ = NULL;
		AppWindow* _tmp13_ = NULL;
		AppWindow* _tmp14_ = NULL;
#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = app_window_get_instance ();
#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp11_ = _tmp10_;
#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE_WINDOW, PageWindow));
#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp11_);
#line 627 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = photo;
#line 627 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		photo_open_with_external_editor (_tmp12_, &_inner_error_);
#line 627 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 5592 "CollectionPage.c"
			goto __catch237_g_error;
		}
#line 628 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp13_ = app_window_get_instance ();
#line 628 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = _tmp13_;
#line 628 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PAGE_WINDOW, PageWindow));
#line 628 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp14_);
#line 5603 "CollectionPage.c"
	}
	goto __finally237;
	__catch237_g_error:
	{
		GError* err = NULL;
		AppWindow* _tmp15_ = NULL;
		AppWindow* _tmp16_ = NULL;
		GError* _tmp17_ = NULL;
		Photo* _tmp18_ = NULL;
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		err = _inner_error_;
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_inner_error_ = NULL;
#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp15_ = app_window_get_instance ();
#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp16_ = _tmp15_;
#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PAGE_WINDOW, PageWindow));
#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp16_);
#line 631 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp17_ = err;
#line 631 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp18_ = photo;
#line 631 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		open_external_editor_error_dialog (_tmp17_, _tmp18_);
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_error_free0 (err);
#line 5633 "CollectionPage.c"
	}
	__finally237:
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (photo);
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.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 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		g_clear_error (&_inner_error_);
#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5646 "CollectionPage.c"
	}
#line 620 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photo);
#line 5650 "CollectionPage.c"
}


static void collection_page_on_external_edit_raw (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	Photo* photo = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	DataView* _tmp6_ = NULL;
	DataView* _tmp7_ = NULL;
	DataSource* _tmp8_ = NULL;
	Photo* _tmp9_ = NULL;
	Photo* _tmp10_ = NULL;
	PhotoFileFormat _tmp11_ = 0;
	GError * _inner_error_ = NULL;
#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 636 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 636 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 636 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 636 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ != 1;
#line 636 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 636 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 637 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5685 "CollectionPage.c"
	}
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = _tmp4_;
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = view_collection_get_selected_at (_tmp5_, 0);
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = _tmp6_;
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = data_view_get_source (_tmp7_);
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo);
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp7_);
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photo = _tmp9_;
#line 640 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp10_ = photo;
#line 640 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp11_ = photo_get_master_file_format (_tmp10_);
#line 640 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp11_ != PHOTO_FILE_FORMAT_RAW) {
#line 641 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (photo);
#line 641 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5715 "CollectionPage.c"
	}
	{
		AppWindow* _tmp12_ = NULL;
		AppWindow* _tmp13_ = NULL;
		Photo* _tmp14_ = NULL;
		AppWindow* _tmp15_ = NULL;
		AppWindow* _tmp16_ = NULL;
#line 644 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = app_window_get_instance ();
#line 644 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp13_ = _tmp12_;
#line 644 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PAGE_WINDOW, PageWindow));
#line 644 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp13_);
#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = photo;
#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		photo_open_with_raw_external_editor (_tmp14_, &_inner_error_);
#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 5737 "CollectionPage.c"
			goto __catch238_g_error;
		}
#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp15_ = app_window_get_instance ();
#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp16_ = _tmp15_;
#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PAGE_WINDOW, PageWindow));
#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp16_);
#line 5748 "CollectionPage.c"
	}
	goto __finally238;
	__catch238_g_error:
	{
		GError* err = NULL;
		AppWindow* _tmp17_ = NULL;
		AppWindow* _tmp18_ = NULL;
		GError* _tmp19_ = NULL;
		gchar* _tmp20_ = NULL;
		gchar* _tmp21_ = NULL;
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		err = _inner_error_;
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_inner_error_ = NULL;
#line 648 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp17_ = app_window_get_instance ();
#line 648 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp18_ = _tmp17_;
#line 648 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PAGE_WINDOW, PageWindow));
#line 648 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp18_);
#line 649 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = err;
#line 649 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp20_ = resources_launch_editor_failed (_tmp19_);
#line 649 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp21_ = _tmp20_;
#line 649 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		app_window_error_message (_tmp21_, NULL);
#line 649 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_free0 (_tmp21_);
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_error_free0 (err);
#line 5783 "CollectionPage.c"
	}
	__finally238:
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (photo);
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.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 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		g_clear_error (&_inner_error_);
#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 5796 "CollectionPage.c"
	}
#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photo);
#line 5800 "CollectionPage.c"
}


void collection_page_on_set_background (CollectionPage* self) {
	GeeArrayList* photos = NULL;
	GeeArrayList* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	ViewCollection* _tmp2_ = NULL;
	GeeList* _tmp3_ = NULL;
	GeeCollection* _tmp4_ = NULL;
	GeeArrayList* _tmp5_ = NULL;
	gboolean desktop = FALSE;
	gboolean screensaver = FALSE;
	GeeArrayList* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gint _tmp8_ = 0;
#line 653 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photos = _tmp0_;
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _tmp1_;
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = view_collection_get_selected_sources (_tmp2_);
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection);
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = photos;
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	media_source_collection_filter_media (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), NULL);
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp4_);
#line 655 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp2_);
#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = photos;
#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _tmp7_;
#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp8_ == 1) {
#line 5847 "CollectionPage.c"
		SetBackgroundPhotoDialog* dialog = NULL;
		SetBackgroundPhotoDialog* _tmp9_ = NULL;
		SetBackgroundPhotoDialog* _tmp10_ = NULL;
		gboolean _tmp11_ = FALSE;
		gboolean _tmp12_ = FALSE;
		gboolean _tmp13_ = FALSE;
#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = set_background_photo_dialog_new ();
#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		g_object_ref_sink (_tmp9_);
#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		dialog = _tmp9_;
#line 661 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = dialog;
#line 661 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp13_ = set_background_photo_dialog_execute (_tmp10_, &_tmp11_, &_tmp12_);
#line 661 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		desktop = _tmp11_;
#line 661 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		screensaver = _tmp12_;
#line 661 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp13_) {
#line 5870 "CollectionPage.c"
			AppWindow* _tmp14_ = NULL;
			AppWindow* _tmp15_ = NULL;
			GeeArrayList* _tmp16_ = NULL;
			gpointer _tmp17_ = NULL;
			LibraryPhoto* _tmp18_ = NULL;
			gboolean _tmp19_ = FALSE;
			gboolean _tmp20_ = FALSE;
			AppWindow* _tmp21_ = NULL;
			AppWindow* _tmp22_ = NULL;
#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp14_ = app_window_get_instance ();
#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp15_ = _tmp14_;
#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE_WINDOW, PageWindow));
#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp15_);
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp16_ = photos;
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp17_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp18_ = (LibraryPhoto*) _tmp17_;
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp19_ = desktop;
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp20_ = screensaver;
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			desktop_integration_set_background (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo), _tmp19_, _tmp20_);
#line 663 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp18_);
#line 664 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp21_ = app_window_get_instance ();
#line 664 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp22_ = _tmp21_;
#line 664 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PAGE_WINDOW, PageWindow));
#line 664 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (_tmp22_);
#line 5910 "CollectionPage.c"
		}
#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (dialog);
#line 5914 "CollectionPage.c"
	} else {
		GeeArrayList* _tmp23_ = NULL;
		gint _tmp24_ = 0;
		gint _tmp25_ = 0;
#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp23_ = photos;
#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp24_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp25_ = _tmp24_;
#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		if (_tmp25_ > 1) {
#line 5927 "CollectionPage.c"
			SetBackgroundSlideshowDialog* dialog = NULL;
			SetBackgroundSlideshowDialog* _tmp26_ = NULL;
			gint delay = 0;
			SetBackgroundSlideshowDialog* _tmp27_ = NULL;
			gint _tmp28_ = 0;
			gboolean _tmp29_ = FALSE;
			gboolean _tmp30_ = FALSE;
			gboolean _tmp31_ = FALSE;
#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp26_ = set_background_slideshow_dialog_new ();
#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			g_object_ref_sink (_tmp26_);
#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			dialog = _tmp26_;
#line 669 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp27_ = dialog;
#line 669 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_tmp31_ = set_background_slideshow_dialog_execute (_tmp27_, &_tmp28_, &_tmp29_, &_tmp30_);
#line 669 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			delay = _tmp28_;
#line 669 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			desktop = _tmp29_;
#line 669 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			screensaver = _tmp30_;
#line 669 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			if (_tmp31_) {
#line 5954 "CollectionPage.c"
				AppWindow* _tmp32_ = NULL;
				AppWindow* _tmp33_ = NULL;
				GeeArrayList* _tmp34_ = NULL;
				gint _tmp35_ = 0;
				gboolean _tmp36_ = FALSE;
				gboolean _tmp37_ = FALSE;
				AppWindow* _tmp38_ = NULL;
				AppWindow* _tmp39_ = NULL;
#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp32_ = app_window_get_instance ();
#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp33_ = _tmp32_;
#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PAGE_WINDOW, PageWindow));
#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (_tmp33_);
#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp34_ = photos;
#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp35_ = delay;
#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp36_ = desktop;
#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp37_ = screensaver;
#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				desktop_integration_set_background_slideshow (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), (gdouble) _tmp35_, COLLECTION_PAGE_DESKTOP_SLIDESHOW_TRANSITION_SEC, _tmp36_, _tmp37_);
#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp38_ = app_window_get_instance ();
#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_tmp39_ = _tmp38_;
#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PAGE_WINDOW, PageWindow));
#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala"
				_g_object_unref0 (_tmp39_);
#line 5989 "CollectionPage.c"
			}
#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala"
			_g_object_unref0 (dialog);
#line 5993 "CollectionPage.c"
		}
	}
#line 653 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photos);
#line 5998 "CollectionPage.c"
}


static void collection_page_on_slideshow (CollectionPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	GeeList* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	gint _tmp7_ = 0;
	gboolean _tmp8_ = FALSE;
	GeeList* sources = NULL;
	GeeList* _tmp15_ = NULL;
	gboolean _tmp16_ = FALSE;
	GeeList* _tmp17_ = NULL;
	Thumbnail* thumbnail = NULL;
	ViewCollection* _tmp21_ = NULL;
	ViewCollection* _tmp22_ = NULL;
	GeeList* _tmp23_ = NULL;
	gpointer _tmp24_ = NULL;
	DataSource* _tmp25_ = NULL;
	DataView* _tmp26_ = NULL;
	Thumbnail* _tmp27_ = NULL;
	Thumbnail* _tmp28_ = NULL;
	LibraryPhoto* photo = NULL;
	Thumbnail* _tmp29_ = NULL;
	MediaSource* _tmp30_ = NULL;
	LibraryPhoto* _tmp31_ = NULL;
	LibraryPhoto* _tmp32_ = NULL;
	AppWindow* _tmp33_ = NULL;
	AppWindow* _tmp34_ = NULL;
	LibraryPhotoSourceCollection* _tmp35_ = NULL;
	ViewCollection* _tmp36_ = NULL;
	ViewCollection* _tmp37_ = NULL;
	LibraryPhoto* _tmp38_ = NULL;
	SlideshowPage* _tmp39_ = NULL;
	SlideshowPage* _tmp40_ = NULL;
#line 678 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (self));
#line 679 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 679 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _tmp0_;
#line 679 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection));
#line 679 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 679 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 679 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_) {
#line 680 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 6054 "CollectionPage.c"
	}
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp6_ = _tmp5_;
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = view_collection_get_selected_count (_tmp6_);
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = _tmp7_ > 0;
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp6_);
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp8_) {
#line 6068 "CollectionPage.c"
		ViewCollection* _tmp9_ = NULL;
		ViewCollection* _tmp10_ = NULL;
		GeeList* _tmp11_ = NULL;
#line 684 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 684 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp10_ = _tmp9_;
#line 684 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp11_ = view_collection_get_selected_sources_of_type (_tmp10_, TYPE_LIBRARY_PHOTO);
#line 684 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp4_);
#line 684 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = _tmp11_;
#line 684 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp10_);
#line 6084 "CollectionPage.c"
	} else {
		ViewCollection* _tmp12_ = NULL;
		ViewCollection* _tmp13_ = NULL;
		GeeList* _tmp14_ = NULL;
#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp13_ = _tmp12_;
#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp14_ = view_collection_get_sources_of_type (_tmp13_, TYPE_LIBRARY_PHOTO);
#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp4_);
#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = _tmp14_;
#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_data_collection_unref0 (_tmp13_);
#line 6101 "CollectionPage.c"
	}
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp15_ = _g_object_ref0 (_tmp4_);
#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	sources = _tmp15_;
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp17_ = sources;
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp17_ == NULL) {
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp16_ = TRUE;
#line 6113 "CollectionPage.c"
	} else {
		GeeList* _tmp18_ = NULL;
		gint _tmp19_ = 0;
		gint _tmp20_ = 0;
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp18_ = sources;
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection));
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp20_ = _tmp19_;
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp16_ = _tmp20_ == 0;
#line 6126 "CollectionPage.c"
	}
#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp16_) {
#line 687 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (sources);
#line 687 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp4_);
#line 687 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 6136 "CollectionPage.c"
	}
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp21_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp22_ = _tmp21_;
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp23_ = sources;
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp24_ = gee_list_get (_tmp23_, 0);
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp25_ = (DataSource*) _tmp24_;
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp26_ = view_collection_get_view_for_source (_tmp22_, _tmp25_);
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_THUMBNAIL, Thumbnail);
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp25_);
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp22_);
#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	thumbnail = _tmp27_;
#line 690 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp28_ = thumbnail;
#line 690 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp28_ == NULL) {
#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (thumbnail);
#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (sources);
#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp4_);
#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 6170 "CollectionPage.c"
	}
#line 693 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp29_ = thumbnail;
#line 693 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp30_ = thumbnail_get_media_source (_tmp29_);
#line 693 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp31_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp30_) : NULL;
#line 693 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp31_ == NULL) {
#line 693 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp30_);
#line 6182 "CollectionPage.c"
	}
#line 693 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	photo = _tmp31_;
#line 694 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp32_ = photo;
#line 694 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp32_ == NULL) {
#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (photo);
#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (thumbnail);
#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (sources);
#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_g_object_unref0 (_tmp4_);
#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		return;
#line 6200 "CollectionPage.c"
	}
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp33_ = app_window_get_instance ();
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp34_ = _tmp33_;
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp35_ = library_photo_global;
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp36_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp37_ = _tmp36_;
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp38_ = photo;
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp39_ = slideshow_page_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp37_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PHOTO, Photo));
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_object_ref_sink (_tmp39_);
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp40_ = _tmp39_;
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	app_window_go_fullscreen (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_PAGE, Page));
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp40_);
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_data_collection_unref0 (_tmp37_);
#line 697 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp34_);
#line 678 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (photo);
#line 678 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (thumbnail);
#line 678 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (sources);
#line 678 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (_tmp4_);
#line 6236 "CollectionPage.c"
}


static gboolean collection_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event) {
	CollectionPage * self;
	gboolean result = FALSE;
	GtkToolButton* rotate_button = NULL;
	GtkBuilder* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
	GtkToolButton* _tmp2_ = NULL;
	GtkToolButton* _tmp3_ = NULL;
	GdkEventKey* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 702 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->builder;
#line 702 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = gtk_builder_get_object (_tmp0_, "ToolRotate");
#line 702 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_tool_button_get_type ()) ? ((GtkToolButton*) _tmp1_) : NULL);
#line 702 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	rotate_button = _tmp2_;
#line 703 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = rotate_button;
#line 703 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_ != NULL) {
#line 6264 "CollectionPage.c"
		GtkToolButton* _tmp4_ = NULL;
		GtkToolButton* _tmp5_ = NULL;
		GtkToolButton* _tmp6_ = NULL;
#line 704 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = rotate_button;
#line 704 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_actionable_set_action_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_ACTIONABLE, GtkActionable), "win.RotateCounterclockwise");
#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = rotate_button;
#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_tool_button_set_icon_name (_tmp5_, "object-rotate-left");
#line 706 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = rotate_button;
#line 706 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CCW_TOOLTIP);
#line 6280 "CollectionPage.c"
	}
#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = event;
#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = PAGE_CLASS (collection_page_parent_class)->on_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp7_);
#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp8_;
#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (rotate_button);
#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 6292 "CollectionPage.c"
}


static gboolean collection_page_real_on_ctrl_released (Page* base, GdkEventKey* event) {
	CollectionPage * self;
	gboolean result = FALSE;
	GtkToolButton* rotate_button = NULL;
	GtkBuilder* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
	GtkToolButton* _tmp2_ = NULL;
	GtkToolButton* _tmp3_ = NULL;
	GdkEventKey* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
#line 712 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 713 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->builder;
#line 713 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = gtk_builder_get_object (_tmp0_, "ToolRotate");
#line 713 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_tool_button_get_type ()) ? ((GtkToolButton*) _tmp1_) : NULL);
#line 713 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	rotate_button = _tmp2_;
#line 714 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp3_ = rotate_button;
#line 714 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	if (_tmp3_ != NULL) {
#line 6320 "CollectionPage.c"
		GtkToolButton* _tmp4_ = NULL;
		GtkToolButton* _tmp5_ = NULL;
		GtkToolButton* _tmp6_ = NULL;
#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp4_ = rotate_button;
#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_actionable_set_action_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_ACTIONABLE, GtkActionable), "win.RotateClockwise");
#line 716 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp5_ = rotate_button;
#line 716 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_tool_button_set_icon_name (_tmp5_, "object-rotate-right");
#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		_tmp6_ = rotate_button;
#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala"
		gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CW_TOOLTIP);
#line 6336 "CollectionPage.c"
	}
#line 720 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp7_ = event;
#line 720 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp8_ = PAGE_CLASS (collection_page_parent_class)->on_ctrl_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp7_);
#line 720 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp8_;
#line 720 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_g_object_unref0 (rotate_button);
#line 720 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 6348 "CollectionPage.c"
}


static gpointer _view_filter_ref0 (gpointer self) {
#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return self ? view_filter_ref (self) : NULL;
#line 6355 "CollectionPage.c"
}


static SearchViewFilter* collection_page_real_get_search_view_filter (CheckerboardPage* base) {
	CollectionPage * self;
	SearchViewFilter* result = NULL;
	CollectionPageCollectionSearchViewFilter* _tmp0_ = NULL;
	SearchViewFilter* _tmp1_ = NULL;
#line 723 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage);
#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = self->priv->search_filter;
#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = _tmp1_;
#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 6374 "CollectionPage.c"
}


static guint collection_page_collection_search_view_filter_real_get_criteria (SearchViewFilter* base) {
	CollectionPageCollectionSearchViewFilter * self;
	guint result = 0U;
#line 23 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter);
#line 24 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	result = (guint) ((((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_FLAG) | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH);
#line 24 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return result;
#line 6387 "CollectionPage.c"
}


CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type) {
	CollectionPageCollectionSearchViewFilter* self = NULL;
#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = (CollectionPageCollectionSearchViewFilter*) default_search_view_filter_construct (object_type);
#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return self;
#line 6397 "CollectionPage.c"
}


CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void) {
#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	return collection_page_collection_search_view_filter_construct (COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER);
#line 6404 "CollectionPage.c"
}


static void collection_page_collection_search_view_filter_class_init (CollectionPageCollectionSearchViewFilterClass * klass) {
#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_collection_search_view_filter_parent_class = g_type_class_peek_parent (klass);
#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((SearchViewFilterClass *) klass)->get_criteria = (guint (*)(SearchViewFilter*)) collection_page_collection_search_view_filter_real_get_criteria;
#line 6413 "CollectionPage.c"
}


static void collection_page_collection_search_view_filter_instance_init (CollectionPageCollectionSearchViewFilter * self) {
}


GType collection_page_collection_search_view_filter_get_type (void) {
	static volatile gsize collection_page_collection_search_view_filter_type_id__volatile = 0;
	if (g_once_init_enter (&collection_page_collection_search_view_filter_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (CollectionPageCollectionSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) collection_page_collection_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CollectionPageCollectionSearchViewFilter), 0, (GInstanceInitFunc) collection_page_collection_search_view_filter_instance_init, NULL };
		GType collection_page_collection_search_view_filter_type_id;
		collection_page_collection_search_view_filter_type_id = g_type_register_static (TYPE_DEFAULT_SEARCH_VIEW_FILTER, "CollectionPageCollectionSearchViewFilter", &g_define_type_info, 0);
		g_once_init_leave (&collection_page_collection_search_view_filter_type_id__volatile, collection_page_collection_search_view_filter_type_id);
	}
	return collection_page_collection_search_view_filter_type_id__volatile;
}


static void collection_page_class_init (CollectionPageClass * klass) {
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	collection_page_parent_class = g_type_class_peek_parent (klass);
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	g_type_class_add_private (klass, sizeof (CollectionPagePrivate));
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->get_toolbar = (GtkToolbar* (*)(Page*)) collection_page_real_get_toolbar;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->init_collect_ui_filenames = (void (*)(Page*, GeeList*)) collection_page_real_init_collect_ui_filenames;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->add_actions = (void (*)(Page*, GActionMap*)) collection_page_real_add_actions;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->remove_actions = (void (*)(Page*, GActionMap*)) collection_page_real_remove_actions;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->init_collect_injection_groups = (InjectionGroup** (*)(Page*, int*)) collection_page_real_init_collect_injection_groups;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->init_actions = (void (*)(Page*, gint, gint)) collection_page_real_init_actions;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->update_actions = (void (*)(Page*, gint, gint)) collection_page_real_update_actions;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((CheckerboardPageClass *) klass)->on_item_activated = (void (*)(CheckerboardPage*, CheckerboardItem*, CheckerboardPageActivator, CheckerboardPageKeyboardModifiers*)) collection_page_real_on_item_activated;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->on_app_key_pressed = (gboolean (*)(Page*, GdkEventKey*)) collection_page_real_on_app_key_pressed;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((MediaPageClass *) klass)->on_export = (void (*)(MediaPage*)) collection_page_real_on_export;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->on_ctrl_pressed = (gboolean (*)(Page*, GdkEventKey*)) collection_page_real_on_ctrl_pressed;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((PageClass *) klass)->on_ctrl_released = (gboolean (*)(Page*, GdkEventKey*)) collection_page_real_on_ctrl_released;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	((CheckerboardPageClass *) klass)->get_search_view_filter = (SearchViewFilter* (*)(CheckerboardPage*)) collection_page_real_get_search_view_filter;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	G_OBJECT_CLASS (klass)->finalize = collection_page_finalize;
#line 6466 "CollectionPage.c"
}


static void collection_page_instance_init (CollectionPage * self) {
	CollectionPageCollectionSearchViewFilter* _tmp0_ = NULL;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv = COLLECTION_PAGE_GET_PRIVATE (self);
#line 29 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv->exporter = NULL;
#line 30 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_tmp0_ = collection_page_collection_search_view_filter_new ();
#line 30 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self->priv->search_filter = _tmp0_;
#line 6480 "CollectionPage.c"
}


static void collection_page_finalize (GObject* obj) {
	CollectionPage * self;
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COLLECTION_PAGE, CollectionPage);
#line 29 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_exporter_ui_unref0 (self->priv->exporter);
#line 30 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	_view_filter_unref0 (self->priv->search_filter);
#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala"
	G_OBJECT_CLASS (collection_page_parent_class)->finalize (obj);
#line 6494 "CollectionPage.c"
}


GType collection_page_get_type (void) {
	static volatile gsize collection_page_type_id__volatile = 0;
	if (g_once_init_enter (&collection_page_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (CollectionPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) collection_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CollectionPage), 0, (GInstanceInitFunc) collection_page_instance_init, NULL };
		GType collection_page_type_id;
		collection_page_type_id = g_type_register_static (TYPE_MEDIA_PAGE, "CollectionPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&collection_page_type_id__volatile, collection_page_type_id);
	}
	return collection_page_type_id__volatile;
}


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);
}



