/* PhotoPage.c generated by valac 0.32.1, the Vala compiler
 * generated from PhotoPage.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 <gdk-pixbuf/gdk-pixbuf.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
#include <cairo.h>
#include <string.h>
#include <stdlib.h>
#include <gee.h>
#include <glib/gi18n-lib.h>
#include <pango/pango.h>
#include <time.h>


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

typedef struct _ZoomBuffer ZoomBuffer;
typedef struct _ZoomBufferClass ZoomBufferClass;
typedef struct _ZoomBufferPrivate ZoomBufferPrivate;

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

typedef struct _DataObject DataObject;
typedef struct _DataObjectClass DataObjectClass;

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

typedef struct _DataSource DataSource;
typedef struct _DataSourceClass DataSourceClass;

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

typedef struct _ThumbnailSource ThumbnailSource;
typedef struct _ThumbnailSourceClass ThumbnailSourceClass;

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

typedef struct _MediaSource MediaSource;
typedef struct _MediaSourceClass MediaSourceClass;

#define TYPE_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 ZOOM_BUFFER_TYPE_OBJECT_STATE (zoom_buffer_object_state_get_type ())

#define TYPE_ZOOM_STATE (zoom_state_get_type ())

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

#define TYPE_BACKGROUND_JOB (background_job_get_type ())
#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob))
#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass))
#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB))
#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB))
#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass))

typedef struct _BackgroundJob BackgroundJob;
typedef struct _BackgroundJobClass BackgroundJobClass;

#define ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB (zoom_buffer_transformation_job_get_type ())
#define ZOOM_BUFFER_TRANSFORMATION_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob))
#define ZOOM_BUFFER_TRANSFORMATION_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJobClass))
#define ZOOM_BUFFER_IS_TRANSFORMATION_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB))
#define ZOOM_BUFFER_IS_TRANSFORMATION_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB))
#define ZOOM_BUFFER_TRANSFORMATION_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJobClass))

typedef struct _ZoomBufferTransformationJob ZoomBufferTransformationJob;
typedef struct _ZoomBufferTransformationJobClass ZoomBufferTransformationJobClass;

#define TYPE_WORKERS (workers_get_type ())
#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers))
#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass))
#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS))
#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS))
#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass))

typedef struct _Workers Workers;
typedef struct _WorkersClass WorkersClass;

#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_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL)))
#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL)))

#define ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB (zoom_buffer_iso_source_fetch_job_get_type ())
#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob))
#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJobClass))
#define ZOOM_BUFFER_IS_ISO_SOURCE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB))
#define ZOOM_BUFFER_IS_ISO_SOURCE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB))
#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJobClass))

typedef struct _ZoomBufferIsoSourceFetchJob ZoomBufferIsoSourceFetchJob;
typedef struct _ZoomBufferIsoSourceFetchJobClass ZoomBufferIsoSourceFetchJobClass;
typedef struct _BackgroundJobPrivate BackgroundJobPrivate;

#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ())
typedef struct _ZoomBufferIsoSourceFetchJobPrivate ZoomBufferIsoSourceFetchJobPrivate;

#define TYPE_DIRECTION (direction_get_type ())

#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ())
#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer))
#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass))
#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER))
#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER))
#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass))

typedef struct _PixelTransformer PixelTransformer;
typedef struct _PixelTransformerClass PixelTransformerClass;
#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL)))
typedef struct _ZoomBufferTransformationJobPrivate ZoomBufferTransformationJobPrivate;

#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ())
#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore))
#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))
#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE))
#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE))
#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))

typedef struct _AbstractSemaphore AbstractSemaphore;
typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass;

#define TYPE_SCALING (scaling_get_type ())

#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ())
typedef struct _Scaling Scaling;

#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ())

#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ())
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (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 _SinglePhotoPagePrivate SinglePhotoPagePrivate;

#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ())

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

typedef struct _EditingHostPage EditingHostPage;
typedef struct _EditingHostPageClass EditingHostPageClass;
typedef struct _EditingHostPagePrivate EditingHostPagePrivate;

#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_DATA_COLLECTION (data_collection_get_type ())
#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))

typedef struct _DataCollection DataCollection;
typedef struct _DataCollectionClass DataCollectionClass;

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

typedef struct _SourceCollection SourceCollection;
typedef struct _SourceCollectionClass SourceCollectionClass;

#define TYPE_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 EDITING_TOOLS_TYPE_EDITING_TOOL (editing_tools_editing_tool_get_type ())
#define EDITING_TOOLS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool))
#define EDITING_TOOLS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass))
#define EDITING_TOOLS_IS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL))
#define EDITING_TOOLS_IS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL))
#define EDITING_TOOLS_EDITING_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass))

typedef struct _EditingToolsEditingTool EditingToolsEditingTool;
typedef struct _EditingToolsEditingToolClass EditingToolsEditingToolClass;

#define TYPE_PIXBUF_CACHE (pixbuf_cache_get_type ())
#define PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXBUF_CACHE, PixbufCache))
#define PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXBUF_CACHE, PixbufCacheClass))
#define IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXBUF_CACHE))
#define IS_PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXBUF_CACHE))
#define PIXBUF_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXBUF_CACHE, PixbufCacheClass))

typedef struct _PixbufCache PixbufCache;
typedef struct _PixbufCacheClass PixbufCacheClass;

#define TYPE_DRAG_AND_DROP_HANDLER (drag_and_drop_handler_get_type ())
#define DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandler))
#define DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass))
#define IS_DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DRAG_AND_DROP_HANDLER))
#define IS_DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DRAG_AND_DROP_HANDLER))
#define DRAG_AND_DROP_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass))

typedef struct _DragAndDropHandler DragAndDropHandler;
typedef struct _DragAndDropHandlerClass DragAndDropHandlerClass;

#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 _editing_tools_editing_tool_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_editing_tool_unref (var), NULL)))
#define _drag_and_drop_handler_unref0(var) ((var == NULL) ? NULL : (var = (drag_and_drop_handler_unref (var), NULL)))

#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())

#define TYPE_MARKER (marker_get_type ())
#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker))
#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER))
#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface))

typedef struct _Marker Marker;
typedef struct _MarkerIface MarkerIface;

#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 _g_free0(var) (var = (g_free (var), NULL))

#define PIXBUF_CACHE_TYPE_PHOTO_TYPE (pixbuf_cache_photo_type_get_type ())

#define PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH (pixbuf_cache_pixbuf_cache_batch_get_type ())
#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatch))
#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass))
#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH))
#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH))
#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass))

typedef struct _PixbufCachePixbufCacheBatch PixbufCachePixbufCacheBatch;
typedef struct _PixbufCachePixbufCacheBatchClass PixbufCachePixbufCacheBatchClass;

#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_PHOTO_VIEW (photo_view_get_type ())
#define PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_VIEW, PhotoView))
#define PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_VIEW, PhotoViewClass))
#define IS_PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_VIEW))
#define IS_PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_VIEW))
#define PHOTO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_VIEW, PhotoViewClass))

typedef struct _PhotoView PhotoView;
typedef struct _PhotoViewClass PhotoViewClass;

#define TYPE_ORIENTATION (orientation_get_type ())

#define EDITING_TOOLS_TYPE_PHOTO_CANVAS (editing_tools_photo_canvas_get_type ())
#define EDITING_TOOLS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas))
#define EDITING_TOOLS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass))
#define EDITING_TOOLS_IS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS))
#define EDITING_TOOLS_IS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS))
#define EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass))

typedef struct _EditingToolsPhotoCanvas EditingToolsPhotoCanvas;
typedef struct _EditingToolsPhotoCanvasClass EditingToolsPhotoCanvasClass;

#define EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS (editing_host_page_editing_host_canvas_get_type ())
#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvas))
#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvasClass))
#define EDITING_HOST_PAGE_IS_EDITING_HOST_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS))
#define EDITING_HOST_PAGE_IS_EDITING_HOST_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS))
#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvasClass))

typedef struct _EditingHostPageEditingHostCanvas EditingHostPageEditingHostCanvas;
typedef struct _EditingHostPageEditingHostCanvasClass EditingHostPageEditingHostCanvasClass;
#define _editing_tools_photo_canvas_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_photo_canvas_unref (var), NULL)))

#define EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW (editing_tools_editing_tool_window_get_type ())
#define EDITING_TOOLS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow))
#define EDITING_TOOLS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass))
#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW))
#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW))
#define EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass))

typedef struct _EditingToolsEditingToolWindow EditingToolsEditingToolWindow;
typedef struct _EditingToolsEditingToolWindowClass EditingToolsEditingToolWindowClass;
typedef struct _EditingToolsEditingToolPrivate EditingToolsEditingToolPrivate;

#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_ROTATION (rotation_get_type ())

#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_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ())
#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand))
#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND))
#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND))
#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))

typedef struct _SingleDataSourceCommand SingleDataSourceCommand;
typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass;

#define TYPE_ROTATE_SINGLE_COMMAND (rotate_single_command_get_type ())
#define ROTATE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommand))
#define ROTATE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandClass))
#define IS_ROTATE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_SINGLE_COMMAND))
#define IS_ROTATE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_SINGLE_COMMAND))
#define ROTATE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandClass))

typedef struct _RotateSingleCommand RotateSingleCommand;
typedef struct _RotateSingleCommandClass RotateSingleCommandClass;

#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_GENERIC_PHOTO_TRANSFORMATION_COMMAND (generic_photo_transformation_command_get_type ())
#define GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand))
#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass))
#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND))
#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND))
#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass))

typedef struct _GenericPhotoTransformationCommand GenericPhotoTransformationCommand;
typedef struct _GenericPhotoTransformationCommandClass GenericPhotoTransformationCommandClass;

#define TYPE_REVERT_SINGLE_COMMAND (revert_single_command_get_type ())
#define REVERT_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommand))
#define REVERT_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommandClass))
#define IS_REVERT_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_SINGLE_COMMAND))
#define IS_REVERT_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_SINGLE_COMMAND))
#define REVERT_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommandClass))

typedef struct _RevertSingleCommand RevertSingleCommand;
typedef struct _RevertSingleCommandClass RevertSingleCommandClass;

#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_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ())
#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator))
#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass))
#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR))
#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR))
#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass))

typedef struct _TextEntryDialogMediator TextEntryDialogMediator;
typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass;

#define TYPE_EDIT_TITLE_DIALOG (edit_title_dialog_get_type ())
#define EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialog))
#define EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass))
#define IS_EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_DIALOG))
#define IS_EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_DIALOG))
#define EDIT_TITLE_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass))

typedef struct _EditTitleDialog EditTitleDialog;
typedef struct _EditTitleDialogClass EditTitleDialogClass;
#define _text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (text_entry_dialog_mediator_unref (var), NULL)))

#define TYPE_EDIT_TITLE_COMMAND (edit_title_command_get_type ())
#define EDIT_TITLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_COMMAND, EditTitleCommand))
#define EDIT_TITLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandClass))
#define IS_EDIT_TITLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_COMMAND))
#define IS_EDIT_TITLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_COMMAND))
#define EDIT_TITLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandClass))

typedef struct _EditTitleCommand EditTitleCommand;
typedef struct _EditTitleCommandClass EditTitleCommandClass;

#define TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ())
#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator))
#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass))
#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR))
#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR))
#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass))

typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator;
typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass;

#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ())
#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog))
#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass))
#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG))
#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG))
#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass))

typedef struct _EditCommentDialog EditCommentDialog;
typedef struct _EditCommentDialogClass EditCommentDialogClass;
#define _multi_text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (multi_text_entry_dialog_mediator_unref (var), NULL)))

#define TYPE_EDIT_COMMENT_COMMAND (edit_comment_command_get_type ())
#define EDIT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommand))
#define EDIT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandClass))
#define IS_EDIT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_COMMAND))
#define IS_EDIT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_COMMAND))
#define EDIT_COMMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandClass))

typedef struct _EditCommentCommand EditCommentCommand;
typedef struct _EditCommentCommandClass EditCommentCommandClass;

#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_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_DIRECT_PHOTO_PAGE (direct_photo_page_get_type ())
#define DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage))
#define DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass))
#define IS_DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_PAGE))
#define IS_DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_PAGE))
#define DIRECT_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass))

typedef struct _DirectPhotoPage DirectPhotoPage;
typedef struct _DirectPhotoPageClass DirectPhotoPageClass;

#define TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND (adjust_date_time_photo_command_get_type ())
#define ADJUST_DATE_TIME_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommand))
#define ADJUST_DATE_TIME_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandClass))
#define IS_ADJUST_DATE_TIME_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND))
#define IS_ADJUST_DATE_TIME_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND))
#define ADJUST_DATE_TIME_PHOTO_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandClass))

typedef struct _AdjustDateTimePhotoCommand AdjustDateTimePhotoCommand;
typedef struct _AdjustDateTimePhotoCommandClass AdjustDateTimePhotoCommandClass;

#define TYPE_SET_BACKGROUND_DIALOG (set_background_dialog_get_type ())
#define SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog))
#define SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass))
#define IS_SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_DIALOG))
#define IS_SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_DIALOG))
#define SET_BACKGROUND_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass))

typedef struct _SetBackgroundDialog SetBackgroundDialog;
typedef struct _SetBackgroundDialogClass SetBackgroundDialogClass;

#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 _set_background_dialog_unref0(var) ((var == NULL) ? NULL : (var = (set_background_dialog_unref (var), NULL)))

#define EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL (editing_tools_straighten_tool_get_type ())
#define EDITING_TOOLS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool))
#define EDITING_TOOLS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass))
#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL))
#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL))
#define EDITING_TOOLS_STRAIGHTEN_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass))

typedef struct _EditingToolsStraightenTool EditingToolsStraightenTool;
typedef struct _EditingToolsStraightenToolClass EditingToolsStraightenToolClass;

#define EDITING_TOOLS_TYPE_CROP_TOOL (editing_tools_crop_tool_get_type ())
#define EDITING_TOOLS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool))
#define EDITING_TOOLS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass))
#define EDITING_TOOLS_IS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_CROP_TOOL))
#define EDITING_TOOLS_IS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_CROP_TOOL))
#define EDITING_TOOLS_CROP_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass))

typedef struct _EditingToolsCropTool EditingToolsCropTool;
typedef struct _EditingToolsCropToolClass EditingToolsCropToolClass;

#define EDITING_TOOLS_TYPE_REDEYE_TOOL (editing_tools_redeye_tool_get_type ())
#define EDITING_TOOLS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool))
#define EDITING_TOOLS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass))
#define EDITING_TOOLS_IS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL))
#define EDITING_TOOLS_IS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL))
#define EDITING_TOOLS_REDEYE_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass))

typedef struct _EditingToolsRedeyeTool EditingToolsRedeyeTool;
typedef struct _EditingToolsRedeyeToolClass EditingToolsRedeyeToolClass;

#define EDITING_TOOLS_TYPE_ADJUST_TOOL (editing_tools_adjust_tool_get_type ())
#define EDITING_TOOLS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool))
#define EDITING_TOOLS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass))
#define EDITING_TOOLS_IS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL))
#define EDITING_TOOLS_IS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL))
#define EDITING_TOOLS_ADJUST_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass))

typedef struct _EditingToolsAdjustTool EditingToolsAdjustTool;
typedef struct _EditingToolsAdjustToolClass EditingToolsAdjustToolClass;

#define TYPE_ENHANCE_SINGLE_COMMAND (enhance_single_command_get_type ())
#define ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommand))
#define ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass))
#define IS_ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_SINGLE_COMMAND))
#define IS_ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_SINGLE_COMMAND))
#define ENHANCE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass))

typedef struct _EnhanceSingleCommand EnhanceSingleCommand;
typedef struct _EnhanceSingleCommandClass EnhanceSingleCommandClass;

#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ())
#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle))
#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass))
#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE))
#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE))
#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass))

typedef struct _PixelTransformationBundle PixelTransformationBundle;
typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass;
#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL)))

#define TYPE_ADJUST_COLORS_SINGLE_COMMAND (adjust_colors_single_command_get_type ())
#define ADJUST_COLORS_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommand))
#define ADJUST_COLORS_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandClass))
#define IS_ADJUST_COLORS_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND))
#define IS_ADJUST_COLORS_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_SINGLE_COMMAND))
#define ADJUST_COLORS_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandClass))

typedef struct _AdjustColorsSingleCommand AdjustColorsSingleCommand;
typedef struct _AdjustColorsSingleCommandClass AdjustColorsSingleCommandClass;
typedef struct _EditingToolsPhotoCanvasPrivate EditingToolsPhotoCanvasPrivate;
typedef struct _EditingHostPageEditingHostCanvasPrivate EditingHostPageEditingHostCanvasPrivate;
#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL)))

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

typedef struct _LibraryPhotoPage LibraryPhotoPage;
typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass;
typedef struct _LibraryPhotoPagePrivate LibraryPhotoPagePrivate;

#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())

#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 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 LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER (library_photo_page_library_photo_page_view_filter_get_type ())
#define LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilter))
#define LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilterClass))
#define LIBRARY_PHOTO_PAGE_IS_LIBRARY_PHOTO_PAGE_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER))
#define LIBRARY_PHOTO_PAGE_IS_LIBRARY_PHOTO_PAGE_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER))
#define LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilterClass))

typedef struct _LibraryPhotoPageLibraryPhotoPageViewFilter LibraryPhotoPageLibraryPhotoPageViewFilter;
typedef struct _LibraryPhotoPageLibraryPhotoPageViewFilterClass LibraryPhotoPageLibraryPhotoPageViewFilterClass;

#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_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 _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))

#define TYPE_RATING (rating_get_type ())
#define _injection_group_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_unref (var), NULL)))

#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_SET_RAW_DEVELOPER_COMMAND (set_raw_developer_command_get_type ())
#define SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand))
#define SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass))
#define IS_SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND))
#define IS_SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND))
#define SET_RAW_DEVELOPER_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass))

typedef struct _SetRawDeveloperCommand SetRawDeveloperCommand;
typedef struct _SetRawDeveloperCommandClass SetRawDeveloperCommandClass;

#define TYPE_FLAGGABLE (flaggable_get_type ())
#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable))
#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE))
#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface))

typedef struct _Flaggable Flaggable;
typedef struct _FlaggableIface FlaggableIface;

#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;

#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_EVENT_PAGE (event_page_get_type ())
#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage))
#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass))
#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE))
#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE))
#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass))

typedef struct _EventPage EventPage;
typedef struct _EventPageClass EventPageClass;

#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ())
#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand))
#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))
#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))

typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand;
typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass;

#define TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (multiple_data_source_at_once_command_get_type ())
#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand))
#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass))
#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND))
#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND))
#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass))

typedef struct _MultipleDataSourceAtOnceCommand MultipleDataSourceAtOnceCommand;
typedef struct _MultipleDataSourceAtOnceCommandClass MultipleDataSourceAtOnceCommandClass;

#define TYPE_FLAG_UNFLAG_COMMAND (flag_unflag_command_get_type ())
#define FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand))
#define FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass))
#define IS_FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAG_UNFLAG_COMMAND))
#define IS_FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAG_UNFLAG_COMMAND))
#define FLAG_UNFLAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass))

typedef struct _FlagUnflagCommand FlagUnflagCommand;
typedef struct _FlagUnflagCommandClass FlagUnflagCommandClass;

#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_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_SET_RATING_SINGLE_COMMAND (set_rating_single_command_get_type ())
#define SET_RATING_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommand))
#define SET_RATING_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommandClass))
#define IS_SET_RATING_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RATING_SINGLE_COMMAND))
#define IS_SET_RATING_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RATING_SINGLE_COMMAND))
#define SET_RATING_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommandClass))

typedef struct _SetRatingSingleCommand SetRatingSingleCommand;
typedef struct _SetRatingSingleCommandClass SetRatingSingleCommandClass;
#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL)))

#define TYPE_TAGS_DIALOG (tags_dialog_get_type ())
#define TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAGS_DIALOG, TagsDialog))
#define TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAGS_DIALOG, TagsDialogClass))
#define IS_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAGS_DIALOG))
#define IS_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAGS_DIALOG))
#define TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAGS_DIALOG, TagsDialogClass))

typedef struct _TagsDialog TagsDialog;
typedef struct _TagsDialogClass TagsDialogClass;

#define TYPE_ADD_TAGS_DIALOG (add_tags_dialog_get_type ())
#define ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialog))
#define ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass))
#define IS_ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_DIALOG))
#define IS_ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_DIALOG))
#define ADD_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass))

typedef struct _AddTagsDialog AddTagsDialog;
typedef struct _AddTagsDialogClass AddTagsDialogClass;

#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ())
#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex))
#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass))
#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX))
#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX))
#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass))

typedef struct _HierarchicalTagIndex HierarchicalTagIndex;
typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass;

#define TYPE_ADD_TAGS_COMMAND (add_tags_command_get_type ())
#define ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommand))
#define ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass))
#define IS_ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_COMMAND))
#define IS_ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_COMMAND))
#define ADD_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass))

typedef struct _AddTagsCommand AddTagsCommand;
typedef struct _AddTagsCommandClass AddTagsCommandClass;
#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL)))

#define TYPE_MODIFY_TAGS_DIALOG (modify_tags_dialog_get_type ())
#define MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialog))
#define MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass))
#define IS_MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_DIALOG))
#define IS_MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_DIALOG))
#define MODIFY_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass))

typedef struct _ModifyTagsDialog ModifyTagsDialog;
typedef struct _ModifyTagsDialogClass ModifyTagsDialogClass;

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

typedef struct _Tag Tag;
typedef struct _TagClass TagClass;

#define TYPE_MODIFY_TAGS_COMMAND (modify_tags_command_get_type ())
#define MODIFY_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommand))
#define MODIFY_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandClass))
#define IS_MODIFY_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_COMMAND))
#define IS_MODIFY_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_COMMAND))
#define MODIFY_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandClass))

typedef struct _ModifyTagsCommand ModifyTagsCommand;
typedef struct _ModifyTagsCommandClass ModifyTagsCommandClass;
typedef struct _ViewFilterPrivate ViewFilterPrivate;
typedef struct _LibraryPhotoPageLibraryPhotoPageViewFilterPrivate LibraryPhotoPageLibraryPhotoPageViewFilterPrivate;
#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 _ZoomBuffer {
	GObject parent_instance;
	ZoomBufferPrivate * priv;
};

struct _ZoomBufferClass {
	GObjectClass parent_class;
};

typedef enum  {
	ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED,
	ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS,
	ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED,
	ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY
} ZoomBufferObjectState;

struct _Dimensions {
	gint width;
	gint height;
};

struct _ZoomState {
	Dimensions content_dimensions;
	Dimensions viewport_dimensions;
	gdouble zoom_factor;
	gdouble interpolation_factor;
	gdouble min_factor;
	gdouble max_factor;
	GdkPoint viewport_center;
};

struct _ZoomBufferPrivate {
	GdkPixbuf* iso_source_image;
	GdkPixbuf* reduced_source_image;
	GdkPixbuf* iso_transformed_image;
	GdkPixbuf* reduced_transformed_image;
	GdkPixbuf* preview_image;
	Photo* backing_photo;
	ZoomBufferObjectState object_state;
	GdkPixbuf* demand_transform_cached_pixbuf;
	ZoomState demand_transform_zoom_state;
	ZoomBufferTransformationJob* demand_transform_job;
	Workers* workers;
	SinglePhotoPage* parent_page;
	gboolean is_interactive_redraw_in_progress;
};

typedef enum  {
	BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100,
	BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75,
	BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50,
	BACKGROUND_JOB_JOB_PRIORITY_LOW = 25,
	BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0
} BackgroundJobJobPriority;

struct _BackgroundJob {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BackgroundJobPrivate * priv;
};

struct _BackgroundJobClass {
	GTypeClass parent_class;
	void (*finalize) (BackgroundJob *self);
	void (*execute) (BackgroundJob* self);
	BackgroundJobJobPriority (*get_priority) (BackgroundJob* self);
};

struct _ZoomBufferIsoSourceFetchJob {
	BackgroundJob parent_instance;
	ZoomBufferIsoSourceFetchJobPrivate * priv;
	GdkPixbuf* fetched;
};

struct _ZoomBufferIsoSourceFetchJobClass {
	BackgroundJobClass parent_class;
};

typedef enum  {
	DIRECTION_FORWARD,
	DIRECTION_BACKWARD
} Direction;

typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data);
struct _ZoomBufferTransformationJob {
	BackgroundJob parent_instance;
	ZoomBufferTransformationJobPrivate * priv;
	GdkPixbuf* transformed;
};

struct _ZoomBufferTransformationJobClass {
	BackgroundJobClass parent_class;
};

struct _ZoomBufferIsoSourceFetchJobPrivate {
	Photo* to_fetch;
};

typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data);
typedef enum  {
	SCALE_CONSTRAINT_ORIGINAL,
	SCALE_CONSTRAINT_DIMENSIONS,
	SCALE_CONSTRAINT_WIDTH,
	SCALE_CONSTRAINT_HEIGHT,
	SCALE_CONSTRAINT_FILL_VIEWPORT
} ScaleConstraint;

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

typedef enum  {
	PHOTO_EXCEPTION_NONE = 0,
	PHOTO_EXCEPTION_ORIENTATION = 1 << 0,
	PHOTO_EXCEPTION_CROP = 1 << 1,
	PHOTO_EXCEPTION_REDEYE = 1 << 2,
	PHOTO_EXCEPTION_ADJUST = 1 << 3,
	PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4,
	PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL
} PhotoException;

typedef enum  {
	BACKING_FETCH_MODE_SOURCE,
	BACKING_FETCH_MODE_BASELINE,
	BACKING_FETCH_MODE_MASTER,
	BACKING_FETCH_MODE_UNMODIFIED
} BackingFetchMode;

struct _ZoomBufferTransformationJobPrivate {
	GdkPixbuf* to_transform;
	PixelTransformer* transformer;
	GCancellable* cancellable;
};

struct _Page {
	GtkScrolledWindow parent_instance;
	PagePrivate * priv;
	GtkUIManager* ui;
	GtkToolbar* toolbar;
	gboolean in_view;
};

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

typedef enum  {
	SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF,
	SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT,
	SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS
} SinglePhotoPageUpdateReason;

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

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

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

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

struct _EditingHostPagePrivate {
	SourceCollection* sources;
	ViewCollection* parent_view;
	GdkPixbuf* swapped;
	gboolean pixbuf_dirty;
	GtkToolButton* rotate_button;
	GtkToggleToolButton* crop_button;
	GtkToggleToolButton* redeye_button;
	GtkToggleToolButton* adjust_button;
	GtkToggleToolButton* straighten_button;
	GtkToolButton* enhance_button;
	GtkScale* zoom_slider;
	GtkToolButton* prev_button;
	GtkToolButton* next_button;
	EditingToolsEditingTool* current_tool;
	GtkToggleToolButton* current_editing_toggle;
	GdkPixbuf* cancel_editing_pixbuf;
	gboolean photo_missing;
	PixbufCache* cache;
	PixbufCache* master_cache;
	DragAndDropHandler* dnd_handler;
	gboolean enable_interactive_zoom_refresh;
	GdkPoint zoom_pan_start_point;
	gboolean is_pan_in_progress;
	gdouble saved_slider_val;
	ZoomBuffer* zoom_buffer;
	GeeHashMap* last_locations;
};

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;

struct _MarkerIface {
	GTypeInterface parent_iface;
	void (*mark) (Marker* self, DataObject* object);
	void (*unmark) (Marker* self, DataObject* object);
	gboolean (*toggle) (Marker* self, DataObject* object);
	void (*mark_many) (Marker* self, GeeCollection* list);
	void (*unmark_many) (Marker* self, GeeCollection* list);
	void (*mark_all) (Marker* self);
	gint (*get_count) (Marker* self);
	GeeCollection* (*get_all) (Marker* self);
};

typedef enum  {
	PIXBUF_CACHE_PHOTO_TYPE_BASELINE,
	PIXBUF_CACHE_PHOTO_TYPE_MASTER
} PixbufCachePhotoType;

typedef gboolean (*PixbufCacheCacheFilter) (Photo* photo, void* user_data);
typedef DataView* (*CreateView) (DataSource* source, void* user_data);
typedef gboolean (*CreateViewPredicate) (DataSource* source, void* user_data);
typedef enum  {
	ORIENTATION_MIN = 1,
	ORIENTATION_TOP_LEFT = 1,
	ORIENTATION_TOP_RIGHT = 2,
	ORIENTATION_BOTTOM_RIGHT = 3,
	ORIENTATION_BOTTOM_LEFT = 4,
	ORIENTATION_LEFT_TOP = 5,
	ORIENTATION_RIGHT_TOP = 6,
	ORIENTATION_RIGHT_BOTTOM = 7,
	ORIENTATION_LEFT_BOTTOM = 8,
	ORIENTATION_MAX = 8
} Orientation;

struct _EditingToolsEditingTool {
	GTypeInstance parent_instance;
	volatile int ref_count;
	EditingToolsEditingToolPrivate * priv;
	EditingToolsPhotoCanvas* canvas;
	cairo_surface_t* surface;
	gchar* name;
};

struct _EditingToolsEditingToolClass {
	GTypeClass parent_class;
	void (*finalize) (EditingToolsEditingTool *self);
	void (*activate) (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas);
	void (*deactivate) (EditingToolsEditingTool* self);
	EditingToolsEditingToolWindow* (*get_tool_window) (EditingToolsEditingTool* self);
	GdkPixbuf* (*get_display_pixbuf) (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error);
	void (*on_left_click) (EditingToolsEditingTool* self, gint x, gint y);
	void (*on_left_released) (EditingToolsEditingTool* self, gint x, gint y);
	void (*on_motion) (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask);
	gboolean (*on_leave_notify_event) (EditingToolsEditingTool* self);
	gboolean (*on_keypress) (EditingToolsEditingTool* self, GdkEventKey* event);
	void (*paint) (EditingToolsEditingTool* self, cairo_t* ctx);
};

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

typedef EditingToolsEditingTool* (*EditingToolsEditingToolFactory) ();
struct _EditingToolsPhotoCanvas {
	GTypeInstance parent_instance;
	volatile int ref_count;
	EditingToolsPhotoCanvasPrivate * priv;
};

struct _EditingToolsPhotoCanvasClass {
	GTypeClass parent_class;
	void (*finalize) (EditingToolsPhotoCanvas *self);
	void (*repaint) (EditingToolsPhotoCanvas* self);
};

struct _EditingHostPageEditingHostCanvas {
	EditingToolsPhotoCanvas parent_instance;
	EditingHostPageEditingHostCanvasPrivate * priv;
};

struct _EditingHostPageEditingHostCanvasClass {
	EditingToolsPhotoCanvasClass parent_class;
};

struct _EditingHostPageEditingHostCanvasPrivate {
	EditingHostPage* host_page;
};

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

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

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

struct _LibraryPhotoPagePrivate {
	CollectionPage* return_page;
	gboolean return_to_collection_on_release;
	LibraryPhotoPageLibraryPhotoPageViewFilter* filter;
};

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

struct _FlaggableIface {
	GTypeInterface parent_iface;
	gboolean (*is_flagged) (Flaggable* self);
	void (*mark_flagged) (Flaggable* self);
	void (*mark_unflagged) (Flaggable* self);
};

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

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 _LibraryPhotoPageLibraryPhotoPageViewFilter {
	ViewFilter parent_instance;
	LibraryPhotoPageLibraryPhotoPageViewFilterPrivate * priv;
};

struct _LibraryPhotoPageLibraryPhotoPageViewFilterClass {
	ViewFilterClass parent_class;
};


static gpointer zoom_buffer_parent_class = NULL;
static gpointer zoom_buffer_iso_source_fetch_job_parent_class = NULL;
static gpointer zoom_buffer_transformation_job_parent_class = NULL;
static gpointer editing_host_page_parent_class = NULL;
static gpointer editing_host_page_editing_host_canvas_parent_class = NULL;
static gpointer library_photo_page_parent_class = NULL;
extern LibraryPhotoSourceCollection* library_photo_global;
static gpointer library_photo_page_library_photo_page_view_filter_parent_class = NULL;

GType zoom_buffer_get_type (void) G_GNUC_CONST;
GType data_object_get_type (void) G_GNUC_CONST;
GType data_source_get_type (void) G_GNUC_CONST;
GType thumbnail_source_get_type (void) G_GNUC_CONST;
GType media_source_get_type (void) G_GNUC_CONST;
GType photo_source_get_type (void) G_GNUC_CONST;
GType photo_get_type (void) G_GNUC_CONST;
static GType zoom_buffer_object_state_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
GType zoom_state_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);
ZoomState* zoom_state_dup (const ZoomState* self);
void zoom_state_free (ZoomState* self);
gpointer background_job_ref (gpointer instance);
void background_job_unref (gpointer instance);
GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_background_job (GValue* value, gpointer v_object);
void value_take_background_job (GValue* value, gpointer v_object);
gpointer value_get_background_job (const GValue* value);
GType background_job_get_type (void) G_GNUC_CONST;
static GType zoom_buffer_transformation_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
gpointer workers_ref (gpointer instance);
void workers_unref (gpointer instance);
GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_workers (GValue* value, gpointer v_object);
void value_take_workers (GValue* value, gpointer v_object);
gpointer value_get_workers (const GValue* value);
GType workers_get_type (void) G_GNUC_CONST;
GType page_get_type (void) G_GNUC_CONST;
GType single_photo_page_get_type (void) G_GNUC_CONST;
#define ZOOM_BUFFER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ZOOM_BUFFER, ZoomBufferPrivate))
enum  {
	ZOOM_BUFFER_DUMMY_PROPERTY
};
#define ZOOM_BUFFER_MEGAPIXEL 1048576
#define ZOOM_BUFFER_USE_REDUCED_THRESHOLD (((gint) 2.0) * ZOOM_BUFFER_MEGAPIXEL)
ZoomBuffer* zoom_buffer_new (SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image);
ZoomBuffer* zoom_buffer_construct (GType object_type, SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image);
Workers* workers_new (guint max_threads, gboolean exclusive);
Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive);
static void zoom_buffer_on_iso_source_fetch_complete (ZoomBuffer* self, BackgroundJob* job);
static GType zoom_buffer_iso_source_fetch_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
GType background_job_job_priority_get_type (void) G_GNUC_CONST;
GType direction_get_type (void) G_GNUC_CONST;
void single_photo_page_repaint (SinglePhotoPage* self, Direction* direction);
gpointer pixel_transformer_ref (gpointer instance);
void pixel_transformer_unref (gpointer instance);
GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_pixel_transformer (GValue* value, gpointer v_object);
void value_take_pixel_transformer (GValue* value, gpointer v_object);
gpointer value_get_pixel_transformer (const GValue* value);
GType pixel_transformer_get_type (void) G_GNUC_CONST;
PixelTransformer* photo_get_pixel_transformer (Photo* self);
static void zoom_buffer_on_iso_transformation_complete (ZoomBuffer* self, BackgroundJob* job);
static void _zoom_buffer_on_iso_transformation_complete_completion_callback (BackgroundJob* job, gpointer self);
static ZoomBufferTransformationJob* zoom_buffer_transformation_job_new (ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable);
static ZoomBufferTransformationJob* zoom_buffer_transformation_job_construct (GType object_type, ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable);
void workers_enqueue (Workers* self, BackgroundJob* job);
static void zoom_buffer_on_demand_transform_complete (ZoomBuffer* self, BackgroundJob* job);
static GdkPixbuf* zoom_buffer_get_view_projection_pixbuf (ZoomBuffer* self, ZoomState* zoom_state, GdkPixbuf* iso_pixbuf, GdkPixbuf* reduced_pixbuf);
void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, GdkRectangle* result);
void zoom_state_get_viewing_rectangle_projection (ZoomState *self, GdkPixbuf* for_pixbuf, GdkRectangle* result);
gdouble zoom_state_get_zoom_factor (ZoomState *self);
static GdkPixbuf* zoom_buffer_get_zoomed_image_source_not_transformed (ZoomBuffer* self, ZoomState* zoom_state);
gboolean zoom_state_equals (ZoomState *self, ZoomState* other);
GdkPixbuf* zoom_buffer_get_zoom_preview_image_internal (ZoomBuffer* self, ZoomState* zoom_state);
void background_job_cancel (BackgroundJob* self);
static void _zoom_buffer_on_demand_transform_complete_completion_callback (BackgroundJob* job, gpointer self);
static void _zoom_buffer_on_iso_source_fetch_complete_completion_callback (BackgroundJob* job, gpointer self);
static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_new (ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target);
static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_construct (GType object_type, ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target);
Photo* zoom_buffer_get_backing_photo (ZoomBuffer* self);
void zoom_buffer_update_preview_image (ZoomBuffer* self, GdkPixbuf* preview_image);
void zoom_buffer_flush_demand_cache (ZoomBuffer* self, ZoomState* initial_zoom_state);
GdkPixbuf* zoom_buffer_get_zoomed_image (ZoomBuffer* self, ZoomState* zoom_state);
gdouble zoom_state_get_interpolation_factor (ZoomState *self);
GdkPixbuf* zoom_buffer_get_zoom_preview_image (ZoomBuffer* self, ZoomState* zoom_state);
#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJobPrivate))
enum  {
	ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_DUMMY_PROPERTY
};
gpointer abstract_semaphore_ref (gpointer instance);
void abstract_semaphore_unref (gpointer instance);
GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_abstract_semaphore (GValue* value, gpointer v_object);
void value_take_abstract_semaphore (GValue* value, gpointer v_object);
gpointer value_get_abstract_semaphore (const GValue* value);
GType abstract_semaphore_get_type (void) G_GNUC_CONST;
BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore);
static void zoom_buffer_iso_source_fetch_job_real_execute (BackgroundJob* base);
GType scaling_get_type (void) G_GNUC_CONST;
GType scale_constraint_get_type (void) G_GNUC_CONST;
Scaling* scaling_dup (const Scaling* self);
void scaling_free (Scaling* self);
GType photo_exception_get_type (void) G_GNUC_CONST;
GType backing_fetch_mode_get_type (void) G_GNUC_CONST;
GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error);
void scaling_for_original (Scaling* result);
static void zoom_buffer_iso_source_fetch_job_finalize (BackgroundJob* obj);
#define ZOOM_BUFFER_TRANSFORMATION_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJobPrivate))
enum  {
	ZOOM_BUFFER_TRANSFORMATION_JOB_DUMMY_PROPERTY
};
static void zoom_buffer_transformation_job_real_execute (BackgroundJob* base);
void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable);
static void zoom_buffer_transformation_job_finalize (BackgroundJob* obj);
static void zoom_buffer_finalize (GObject* 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 single_photo_page_update_reason_get_type (void) G_GNUC_CONST;
GType editing_host_page_get_type (void) G_GNUC_CONST;
GType data_view_get_type (void) G_GNUC_CONST;
gpointer data_collection_ref (gpointer instance);
void data_collection_unref (gpointer instance);
GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_data_collection (GValue* value, gpointer v_object);
void value_take_data_collection (GValue* value, gpointer v_object);
gpointer value_get_data_collection (const GValue* value);
GType data_collection_get_type (void) G_GNUC_CONST;
GType source_collection_get_type (void) G_GNUC_CONST;
GType view_collection_get_type (void) G_GNUC_CONST;
gpointer editing_tools_editing_tool_ref (gpointer instance);
void editing_tools_editing_tool_unref (gpointer instance);
GParamSpec* editing_tools_param_spec_editing_tool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void editing_tools_value_set_editing_tool (GValue* value, gpointer v_object);
void editing_tools_value_take_editing_tool (GValue* value, gpointer v_object);
gpointer editing_tools_value_get_editing_tool (const GValue* value);
GType editing_tools_editing_tool_get_type (void) G_GNUC_CONST;
GType pixbuf_cache_get_type (void) G_GNUC_CONST;
gpointer drag_and_drop_handler_ref (gpointer instance);
void drag_and_drop_handler_unref (gpointer instance);
GParamSpec* param_spec_drag_and_drop_handler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_drag_and_drop_handler (GValue* value, gpointer v_object);
void value_take_drag_and_drop_handler (GValue* value, gpointer v_object);
gpointer value_get_drag_and_drop_handler (const GValue* value);
GType drag_and_drop_handler_get_type (void) G_GNUC_CONST;
#define EDITING_HOST_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EDITING_HOST_PAGE, EditingHostPagePrivate))
enum  {
	EDITING_HOST_PAGE_DUMMY_PROPERTY
};
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 editing_host_page_on_photos_altered (EditingHostPage* self, GeeMap* map);
static void _editing_host_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
ViewCollection* page_get_view (Page* self);
static void editing_host_page_on_view_contents_ordering_altered (EditingHostPage* self);
static void _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self);
static void _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed (DataCollection* _sender, gpointer self);
#define RESOURCES_PREVIOUS_LABEL _ ("_Previous")
#define RESOURCES_NEXT_LABEL _ ("_Next")
#define EDITING_HOST_PAGE_TRINKET_SCALE 20
#define EDITING_HOST_PAGE_TRINKET_PADDING 1
#define EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE 0.1
#define EDITING_HOST_PAGE_PAN_INCREMENT_SIZE 64
#define EDITING_HOST_PAGE_TOOL_WINDOW_SEPARATOR 8
#define EDITING_HOST_PAGE_PIXBUF_CACHE_COUNT 5
#define EDITING_HOST_PAGE_ORIGINAL_PIXBUF_CACHE_COUNT 5
EditingHostPage* editing_host_page_construct (GType object_type, SourceCollection* sources, const gchar* name);
SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport);
static void editing_host_page_on_viewport_resized (EditingHostPage* self);
static void _editing_host_page_on_viewport_resized_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self);
GtkToolbar* page_get_toolbar (Page* self);
#define RESOURCES_CLOCKWISE "object-rotate-right"
#define RESOURCES_ROTATE_CW_LABEL _ ("Rotate")
#define RESOURCES_ROTATE_CW_TOOLTIP _ ("Rotate the photos right (press Ctrl to rotate left)")
void editing_host_page_on_rotate_clockwise (EditingHostPage* self);
static void _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
#define RESOURCES_CROP "shotwell-crop"
#define RESOURCES_CROP_LABEL _ ("Crop")
#define RESOURCES_CROP_TOOLTIP _ ("Crop the photo's size")
static void editing_host_page_on_crop_toggled (EditingHostPage* self);
static void _editing_host_page_on_crop_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self);
#define RESOURCES_STRAIGHTEN "shotwell-straighten"
#define RESOURCES_STRAIGHTEN_LABEL _ ("Straighten")
#define RESOURCES_STRAIGHTEN_TOOLTIP _ ("Straighten the photo")
static void editing_host_page_on_straighten_toggled (EditingHostPage* self);
static void _editing_host_page_on_straighten_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self);
#define RESOURCES_REDEYE "shotwell-redeye"
#define RESOURCES_RED_EYE_LABEL _ ("Red-eye")
#define RESOURCES_RED_EYE_TOOLTIP _ ("Reduce or eliminate any red-eye effects in the photo")
static void editing_host_page_on_redeye_toggled (EditingHostPage* self);
static void _editing_host_page_on_redeye_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self);
#define RESOURCES_ADJUST "image-adjust"
#define RESOURCES_ADJUST_LABEL _ ("Adjust")
#define RESOURCES_ADJUST_TOOLTIP _ ("Adjust the photo's color and tone")
static void editing_host_page_on_adjust_toggled (EditingHostPage* self);
static void _editing_host_page_on_adjust_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self);
#define RESOURCES_ENHANCE_LABEL _ ("Enhance")
#define RESOURCES_ENHANCE "shotwell-auto-enhance"
#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance")
void editing_host_page_on_enhance (EditingHostPage* self);
static void _editing_host_page_on_enhance_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
GdkPixbuf* resources_load_icon (const gchar* name, gint scale);
#define RESOURCES_ICON_ZOOM_OUT "zoom-out.png"
#define RESOURCES_ICON_ZOOM_SCALE 16
static gboolean editing_host_page_on_zoom_out_pressed (EditingHostPage* self, GdkEventButton* event);
static gboolean _editing_host_page_on_zoom_out_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
static void editing_host_page_on_zoom_slider_value_changed (EditingHostPage* self);
static void _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self);
static gboolean editing_host_page_on_zoom_slider_drag_begin (EditingHostPage* self, GdkEventButton* event);
static gboolean _editing_host_page_on_zoom_slider_drag_begin_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
static gboolean editing_host_page_on_zoom_slider_drag_end (EditingHostPage* self, GdkEventButton* event);
static gboolean _editing_host_page_on_zoom_slider_drag_end_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
gboolean editing_host_page_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event);
static gboolean _editing_host_page_on_zoom_slider_key_press_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self);
#define RESOURCES_ICON_ZOOM_IN "zoom-in.png"
static gboolean editing_host_page_on_zoom_in_pressed (EditingHostPage* self, GdkEventButton* event);
static gboolean _editing_host_page_on_zoom_in_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
void single_photo_page_on_previous_photo (SinglePhotoPage* self);
static void _single_photo_page_on_previous_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
void single_photo_page_on_next_photo (SinglePhotoPage* self);
static void _single_photo_page_on_next_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
void single_photo_page_get_zoom_state (SinglePhotoPage* self, ZoomState* result);
void zoom_state_init_rescale (ZoomState *self, ZoomState* existing, gdouble new_slider_val);
void single_photo_page_on_interactive_zoom (SinglePhotoPage* self, ZoomState* interactive_zoom_state);
gboolean zoom_state_is_default (ZoomState *self);
void single_photo_page_set_zoom_state (SinglePhotoPage* self, ZoomState* zoom_state);
void single_photo_page_cancel_zoom (SinglePhotoPage* self);
static void editing_host_page_update_cursor_for_zoom_context (EditingHostPage* self);
GtkWindow* page_get_container (Page* self);
void fullscreen_window_disable_toolbar_dismissal (FullscreenWindow* self);
void fullscreen_window_update_toolbar_dismissal (FullscreenWindow* self);
void editing_host_page_snap_zoom_to_min (EditingHostPage* self);
void editing_host_page_snap_zoom_to_max (EditingHostPage* self);
static void editing_host_page_get_cursor_wrt_viewport (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result);
void zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self, GdkRectangle* result);
static void editing_host_page_get_cursor_wrt_viewport_center (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result);
void subtract_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result);
static void editing_host_page_get_iso_pixel_under_cursor (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result);
void scale_point (GdkPoint* p, gdouble factor, GdkPoint* result);
void zoom_state_get_viewport_center (ZoomState *self, GdkPoint* result);
void add_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result);
static gdouble editing_host_page_snap_interpolation_factor (EditingHostPage* self, gdouble interp);
static gdouble editing_host_page_adjust_interpolation_factor (EditingHostPage* self, gdouble adjustment);
static void editing_host_page_zoom_about_event_cursor_point (EditingHostPage* self, GdkEventScroll* event, gdouble zoom_increment);
gboolean zoom_state_is_min (ZoomState *self);
void zoom_state_init_pan (ZoomState *self, ZoomState* existing, GdkPoint* new_viewport_center);
void editing_host_page_snap_zoom_to_isomorphic (EditingHostPage* self);
void zoom_state_init_rescale_to_isomorphic (ZoomState *self, ZoomState* existing);
static gboolean editing_host_page_real_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event);
void page_activate_action (Page* self, const gchar* name);
void editing_host_page_on_increase_size (EditingHostPage* self);
static void editing_host_page_real_on_increase_size (EditingHostPage* self);
void editing_host_page_on_decrease_size (EditingHostPage* self);
static void editing_host_page_real_on_decrease_size (EditingHostPage* self);
static void editing_host_page_real_save_zoom_state (SinglePhotoPage* base);
void single_photo_page_save_zoom_state (SinglePhotoPage* self);
static ZoomBuffer* editing_host_page_real_get_zoom_buffer (SinglePhotoPage* base);
static gboolean editing_host_page_real_on_mousewheel_up (Page* base, GdkEventScroll* event);
gboolean zoom_state_is_max (ZoomState *self);
static gboolean editing_host_page_real_on_mousewheel_down (Page* base, GdkEventScroll* event);
static void editing_host_page_real_restore_zoom_state (SinglePhotoPage* base);
void single_photo_page_restore_zoom_state (SinglePhotoPage* self);
static gboolean editing_host_page_real_is_zoom_supported (SinglePhotoPage* base);
static void editing_host_page_real_set_container (Page* base, GtkWindow* container);
void page_set_container (Page* self, GtkWindow* container);
DragAndDropHandler* drag_and_drop_handler_new (Page* page);
DragAndDropHandler* drag_and_drop_handler_construct (GType object_type, Page* page);
ViewCollection* editing_host_page_get_parent_view (EditingHostPage* self);
gboolean editing_host_page_has_photo (EditingHostPage* self);
Photo* editing_host_page_get_photo (EditingHostPage* self);
gint view_collection_get_selected_count (ViewCollection* self);
DataView* view_collection_get_selected_at (ViewCollection* self, gint index);
DataSource* data_view_get_source (DataView* self);
void editing_host_page_photo_changing (EditingHostPage* self, Photo* new_photo);
static void editing_host_page_real_photo_changing (EditingHostPage* self, Photo* new_photo);
GType photo_file_format_get_type (void) G_GNUC_CONST;
PhotoFileFormat photo_get_file_format (Photo* self);
void editing_host_page_set_photo_missing (EditingHostPage* self, gboolean missing);
GFile* media_source_get_file (MediaSource* self);
void editing_host_page_update_ui (EditingHostPage* self, gboolean missing);
static void editing_host_page_set_photo (EditingHostPage* self, Photo* photo);
DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source);
void view_collection_unselect_all (ViewCollection* self);
GType marker_get_type (void) G_GNUC_CONST;
Marker* data_collection_mark (DataCollection* self, DataObject* object);
void view_collection_select_marked (ViewCollection* self, Marker* marker);
DataView* view_collection_get_view_for_source_filtered (ViewCollection* self, DataSource* source);
static void editing_host_page_real_realize (GtkWidget* base);
static void editing_host_page_rebuild_caches (EditingHostPage* self, const gchar* caller);
static void editing_host_page_real_switched_to (Page* base);
void page_switched_to (Page* self);
static void editing_host_page_replace_photo (EditingHostPage* self, Photo* new_photo);
static void editing_host_page_real_switching_from (Page* base);
void page_switching_from (Page* self);
GType command_get_type (void) G_GNUC_CONST;
static void editing_host_page_deactivate_tool (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement);
void dimensions_init (Dimensions *self, gint width, gint height);
void data_collection_clear (DataCollection* self);
static void editing_host_page_real_switching_to_fullscreen (Page* base, FullscreenWindow* fsw);
void page_switching_to_fullscreen (Page* self, FullscreenWindow* fsw);
Page* page_window_get_current_page (PageWindow* self);
static void editing_host_page_on_selection_changed (EditingHostPage* self, GeeIterable* selected);
static void _editing_host_page_on_selection_changed_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self);
static void editing_host_page_real_returning_from_fullscreen (Page* base, FullscreenWindow* fsw);
void page_returning_from_fullscreen (Page* self, FullscreenWindow* fsw);
void editing_host_page_enable_rotate (EditingHostPage* self, gboolean should_enable);
void single_photo_page_get_canvas_scaling (SinglePhotoPage* self, Scaling* result);
void pixbuf_cache_get_scaling (PixbufCache* self, Scaling* result);
gboolean scaling_equals (Scaling *self, Scaling* scaling);
gchar* scaling_to_string (Scaling *self);
static void editing_host_page_on_pixbuf_fetched (EditingHostPage* self, Photo* photo, GdkPixbuf* pixbuf, GError* err);
static void _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched (PixbufCache* _sender, Photo* photo, GdkPixbuf* pixbuf, GError* err, gpointer self);
void pixbuf_cache_cancel_all (PixbufCache* self);
GType pixbuf_cache_photo_type_get_type (void) G_GNUC_CONST;
PixbufCache* pixbuf_cache_new (SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target);
PixbufCache* pixbuf_cache_construct (GType object_type, SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target);
static gboolean editing_host_page_master_cache_filter (EditingHostPage* self, Photo* photo);
static gboolean _editing_host_page_master_cache_filter_pixbuf_cache_cache_filter (Photo* photo, gpointer self);
static void editing_host_page_refresh_caches (EditingHostPage* self, const gchar* caller);
gchar* data_object_to_string (DataObject* self);
static void editing_host_page_prefetch_neighbors (EditingHostPage* self, ViewCollection* controller, Photo* photo);
gboolean photo_has_transformations (Photo* self);
gboolean photo_has_editable (Photo* self);
gboolean data_source_equals (DataSource* self, DataSource* source);
void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result);
GdkPixbuf* editing_tools_editing_tool_get_display_pixbuf (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error);
void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction);
void editing_host_page_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing);
GType pixbuf_cache_pixbuf_cache_batch_get_type (void) G_GNUC_CONST;
PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_new (void);
PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_construct (GType object_type);
gboolean view_collection_get_immediate_neighbors (ViewCollection* self, DataSource* home, DataSource** next, DataSource** prev, const gchar* type_selector);
#define PHOTO_TYPENAME "thumb"
GeeSet* view_collection_get_extended_neighbors (ViewCollection* self, DataSource* home, const gchar* typename);
void pixbuf_cache_prefetch_batch (PixbufCache* self, PixbufCachePixbufCacheBatch* batch, gboolean force);
static void editing_host_page_cancel_prefetch_neighbors (EditingHostPage* self, ViewCollection* old_controller, Photo* old_photo, ViewCollection* new_controller, Photo* new_photo);
void pixbuf_cache_drop (PixbufCache* self, Photo* photo);
DataView* editing_host_page_create_photo_view (EditingHostPage* self, DataSource* source);
static DataView* editing_host_page_real_create_photo_view (EditingHostPage* self, DataSource* source);
PhotoView* photo_view_new (PhotoSource* source);
PhotoView* photo_view_construct (GType object_type, PhotoSource* source);
GType thumbnail_view_get_type (void) G_GNUC_CONST;
GType photo_view_get_type (void) G_GNUC_CONST;
static gboolean editing_host_page_is_photo (EditingHostPage* self, DataSource* source);
void editing_host_page_display_copy_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo);
void view_collection_copy_into (ViewCollection* self, ViewCollection* to_copy, CreateView copying_ctor, void* copying_ctor_target, CreateViewPredicate should_copy, void* should_copy_target);
static DataView* _editing_host_page_create_photo_view_create_view (DataSource* source, gpointer self);
static gboolean _editing_host_page_is_photo_create_view_predicate (DataSource* source, gpointer self);
void editing_host_page_display_mirror_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo);
void view_collection_mirror (ViewCollection* self, ViewCollection* to_mirror, CreateView mirroring_ctor, void* mirroring_ctor_target, CreateViewPredicate should_mirror, void* should_mirror_target);
static void editing_host_page_real_update_ui (EditingHostPage* self, gboolean missing);
static void editing_host_page_real_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing);
static void editing_host_page_draw_message (EditingHostPage* self, const gchar* message);
void single_photo_page_paint_text (SinglePhotoPage* self, PangoLayout* pango_layout, gint x, gint y);
GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error);
gboolean editing_host_page_get_photo_missing (EditingHostPage* self);
gboolean editing_host_page_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo);
static gboolean editing_host_page_real_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo);
static GdkPixbuf* editing_host_page_get_zoom_pixbuf (EditingHostPage* self, Photo* new_photo);
GdkPixbuf* pixbuf_cache_get_ready_pixbuf (PixbufCache* self, Photo* photo);
GdkPixbuf* get_placeholder_pixbuf (void);
GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up);
void page_set_page_name (Page* self, const gchar* page_name);
gchar* data_object_get_name (DataObject* self);
static void editing_host_page_quick_update_pixbuf (EditingHostPage* self);
static void editing_host_page_real_cancel_zoom (SinglePhotoPage* base);
void single_photo_page_get_surface_dim (SinglePhotoPage* self, Dimensions* result);
void zoom_state_init (ZoomState *self, Dimensions* content_dimensions, Dimensions* viewport_dimensions, gdouble slider_val, GdkPoint* viewport_center);
void page_set_page_cursor (Page* self, GdkCursorType cursor_type);
void pixbuf_cache_prefetch (PixbufCache* self, Photo* photo, BackgroundJobJobPriority priority, gboolean force);
static gboolean editing_host_page_update_pixbuf (EditingHostPage* self);
static void editing_host_page_real_on_resize (Page* base, GdkRectangle* rect);
void page_on_resize (Page* self, GdkRectangle* rect);
static void editing_host_page_track_tool_window (EditingHostPage* self);
static void editing_host_page_real_on_resize_finished (Page* base, GdkRectangle* rect);
static void editing_host_page_real_update_actions (Page* base, gint selected_count, gint count);
gint view_collection_get_sources_of_type_count (ViewCollection* self, GType t);
gboolean photo_check_can_rotate (Photo* self);
gboolean editing_host_page_is_rotate_available (EditingHostPage* self, Photo* photo);
gboolean editing_tools_crop_tool_is_available (Photo* photo, Scaling* scaling);
gboolean editing_tools_redeye_tool_is_available (Photo* photo, Scaling* scaling);
gboolean editing_tools_adjust_tool_is_available (Photo* photo, Scaling* scaling);
gboolean editing_host_page_is_enhance_available (EditingHostPage* self, Photo* photo);
gboolean editing_tools_straighten_tool_is_available (Photo* photo, Scaling* scaling);
void page_update_actions (Page* self, gint selected_count, gint count);
static gboolean editing_host_page_real_on_shift_pressed (Page* base, GdkEventKey* event);
gboolean page_get_ctrl_pressed (Page* self);
gboolean page_get_alt_pressed (Page* self);
static void editing_host_page_swap_in_original (EditingHostPage* self);
gboolean page_on_shift_pressed (Page* self, GdkEventKey* event);
static gboolean editing_host_page_real_on_shift_released (Page* base, GdkEventKey* event);
static void editing_host_page_swap_out_original (EditingHostPage* self);
gboolean page_on_shift_released (Page* self, GdkEventKey* event);
static gboolean editing_host_page_real_on_alt_pressed (Page* base, GdkEventKey* event);
gboolean page_on_alt_pressed (Page* self, GdkEventKey* event);
static gboolean editing_host_page_real_on_alt_released (Page* base, GdkEventKey* event);
gboolean page_get_shift_pressed (Page* self);
gboolean page_on_alt_released (Page* self, GdkEventKey* event);
GdkPixbuf* photo_get_prefetched_copy (Photo* self, GError** error);
GType orientation_get_type (void) G_GNUC_CONST;
Orientation photo_get_original_orientation (Photo* self);
GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf);
GdkPixbuf* single_photo_page_get_unscaled_pixbuf (SinglePhotoPage* self);
void photo_get_master_dimensions (Photo* self, Dimensions* result);
static void editing_host_page_activate_tool (EditingHostPage* self, EditingToolsEditingTool* tool);
gpointer editing_tools_photo_canvas_ref (gpointer instance);
void editing_tools_photo_canvas_unref (gpointer instance);
GParamSpec* editing_tools_param_spec_photo_canvas (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void editing_tools_value_set_photo_canvas (GValue* value, gpointer v_object);
void editing_tools_value_take_photo_canvas (GValue* value, gpointer v_object);
gpointer editing_tools_value_get_photo_canvas (const GValue* value);
GType editing_tools_photo_canvas_get_type (void) G_GNUC_CONST;
static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_new (EditingHostPage* host_page);
static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_construct (GType object_type, EditingHostPage* host_page);
static GType editing_host_page_editing_host_canvas_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
void editing_tools_editing_tool_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas);
static void editing_host_page_place_tool_window (EditingHostPage* self);
GType editing_tools_editing_tool_window_get_type (void) G_GNUC_CONST;
EditingToolsEditingToolWindow* editing_tools_editing_tool_get_tool_window (EditingToolsEditingTool* self);
gboolean editing_tools_editing_tool_window_has_user_moved (EditingToolsEditingToolWindow* self);
void editing_tools_editing_tool_deactivate (EditingToolsEditingTool* self);
static void editing_host_page_on_tool_activated (EditingHostPage* self);
static void _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated (EditingToolsEditingTool* _sender, gpointer self);
static void editing_host_page_on_tool_deactivated (EditingHostPage* self);
static void _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated (EditingToolsEditingTool* _sender, gpointer self);
static void editing_host_page_on_tool_applied (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement);
static void _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied (EditingToolsEditingTool* _sender, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement, gpointer self);
static void editing_host_page_on_tool_cancelled (EditingHostPage* self);
static void _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled (EditingToolsEditingTool* _sender, gpointer self);
static void editing_host_page_on_tool_aborted (EditingHostPage* self);
static void _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted (EditingToolsEditingTool* _sender, gpointer self);
void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result);
static gboolean _editing_host_page_update_pixbuf_gsource_func (gpointer self);
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);
gboolean editing_host_page_on_double_click (EditingHostPage* self, GdkEventButton* event);
static gboolean editing_host_page_real_on_double_click (EditingHostPage* self, GdkEventButton* event);
static gboolean editing_host_page_real_on_left_click (Page* base, GdkEventButton* event);
void page_suspend_cursor_hiding (Page* self);
gboolean single_photo_page_is_inside_pixbuf (SinglePhotoPage* self, gint x, gint y);
void editing_tools_editing_tool_on_left_click (EditingToolsEditingTool* self, gint x, gint y);
static gboolean editing_host_page_real_on_left_released (Page* base, GdkEventButton* event);
ZoomBuffer* single_photo_page_get_zoom_buffer (SinglePhotoPage* self);
void page_restore_cursor_hiding (Page* self);
void editing_tools_editing_tool_on_left_released (EditingToolsEditingTool* self, gint x, gint y);
static gboolean editing_host_page_real_on_right_click (Page* base, GdkEventButton* event);
gboolean page_on_context_buttonpress (Page* self, GdkEventButton* event);
static gboolean editing_host_page_on_fetch_original (EditingHostPage* self);
static gboolean _editing_host_page_on_fetch_original_gsource_func (gpointer self);
gint data_collection_get_count (DataCollection* self);
static gboolean editing_host_page_is_panning_possible (EditingHostPage* self);
gint zoom_state_get_zoomed_width (ZoomState *self);
gint zoom_state_get_zoomed_height (ZoomState *self);
static gboolean editing_host_page_real_on_motion (Page* base, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
void editing_tools_editing_tool_on_motion (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask);
void single_photo_page_on_interactive_pan (SinglePhotoPage* self, ZoomState* interactive_zoom_state);
gboolean page_on_motion (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
static gboolean editing_host_page_real_on_leave_notify_event (Page* base);
gboolean editing_tools_editing_tool_on_leave_notify_event (EditingToolsEditingTool* self);
gboolean page_on_leave_notify_event (Page* self);
static void editing_host_page_real_on_move (Page* base, GdkRectangle* rect);
void page_on_move (Page* self, GdkRectangle* rect);
static void editing_host_page_real_on_move_finished (Page* base, GdkRectangle* rect);
void page_on_move_finished (Page* self, GdkRectangle* rect);
static gboolean editing_host_page_on_keyboard_pan_event (EditingHostPage* self, GdkEventKey* event);
static gboolean editing_host_page_real_key_press_event (GtkWidget* base, GdkEventKey* event);
gboolean editing_tools_editing_tool_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event);
static void editing_host_page_real_new_surface (SinglePhotoPage* base, cairo_t* default_ctx, Dimensions* dim);
void editing_tools_photo_canvas_set_surface (EditingToolsPhotoCanvas* self, cairo_t* default_ctx, Dimensions* surface_dim);
static void editing_host_page_real_updated_pixbuf (SinglePhotoPage* base, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim);
void editing_tools_photo_canvas_resized_pixbuf (EditingToolsPhotoCanvas* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position);
void single_photo_page_get_scaled_pixbuf_position (SinglePhotoPage* self, GdkRectangle* result);
GdkPixbuf* editing_host_page_get_bottom_left_trinket (EditingHostPage* self, gint scale);
static GdkPixbuf* editing_host_page_real_get_bottom_left_trinket (EditingHostPage* self, gint scale);
GdkPixbuf* editing_host_page_get_top_left_trinket (EditingHostPage* self, gint scale);
static GdkPixbuf* editing_host_page_real_get_top_left_trinket (EditingHostPage* self, gint scale);
GdkPixbuf* editing_host_page_get_top_right_trinket (EditingHostPage* self, gint scale);
static GdkPixbuf* editing_host_page_real_get_top_right_trinket (EditingHostPage* self, gint scale);
GdkPixbuf* editing_host_page_get_bottom_right_trinket (EditingHostPage* self, gint scale);
static GdkPixbuf* editing_host_page_real_get_bottom_right_trinket (EditingHostPage* self, gint scale);
static void editing_host_page_real_paint (SinglePhotoPage* base, cairo_t* ctx, Dimensions* ctx_dim);
void editing_tools_editing_tool_paint (EditingToolsEditingTool* self, cairo_t* ctx);
void set_source_color_from_string (cairo_t* ctx, const gchar* spec);
void single_photo_page_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
GType rotation_get_type (void) G_GNUC_CONST;
static void editing_host_page_rotate (EditingHostPage* self, Rotation rotation, const gchar* name, const gchar* description);
GType page_command_get_type (void) G_GNUC_CONST;
GType single_data_source_command_get_type (void) G_GNUC_CONST;
GType rotate_single_command_get_type (void) G_GNUC_CONST;
RotateSingleCommand* rotate_single_command_new (Photo* photo, Rotation rotation, const gchar* name, const gchar* explanation);
RotateSingleCommand* rotate_single_command_construct (GType object_type, Photo* photo, Rotation rotation, const gchar* name, const gchar* explanation);
#define RESOURCES_ROTATE_CW_FULL_LABEL _ ("Rotate Right")
void editing_host_page_on_rotate_counterclockwise (EditingHostPage* self);
#define RESOURCES_ROTATE_CCW_FULL_LABEL _ ("Rotate Left")
#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left")
void editing_host_page_on_flip_horizontally (EditingHostPage* self);
#define RESOURCES_HFLIP_LABEL _ ("Flip Horizontally")
void editing_host_page_on_flip_vertically (EditingHostPage* self);
#define RESOURCES_VFLIP_LABEL _ ("Flip Vertically")
void editing_host_page_on_revert (EditingHostPage* self);
gboolean revert_editable_dialog (GtkWindow* owner, GeeCollection* photos);
GType app_window_get_type (void) G_GNUC_CONST;
AppWindow* app_window_get_instance (void);
GeeCollection* view_collection_get_sources (ViewCollection* self);
void photo_revert_to_master (Photo* self, gboolean notify);
GType generic_photo_transformation_command_get_type (void) G_GNUC_CONST;
GType revert_single_command_get_type (void) G_GNUC_CONST;
RevertSingleCommand* revert_single_command_new (Photo* photo);
RevertSingleCommand* revert_single_command_construct (GType object_type, Photo* photo);
void editing_host_page_on_edit_title (EditingHostPage* self);
GType library_photo_get_type (void) G_GNUC_CONST;
gpointer text_entry_dialog_mediator_ref (gpointer instance);
void text_entry_dialog_mediator_unref (gpointer instance);
GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object);
void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object);
gpointer value_get_text_entry_dialog_mediator (const GValue* value);
GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST;
GType edit_title_dialog_get_type (void) G_GNUC_CONST;
gchar* media_source_get_title (MediaSource* self);
EditTitleDialog* edit_title_dialog_new (const gchar* photo_title);
EditTitleDialog* edit_title_dialog_construct (GType object_type, const gchar* photo_title);
gchar* edit_title_dialog_execute (EditTitleDialog* self);
GType edit_title_command_get_type (void) G_GNUC_CONST;
EditTitleCommand* edit_title_command_new (MediaSource* source, const gchar* new_title);
EditTitleCommand* edit_title_command_construct (GType object_type, MediaSource* source, const gchar* new_title);
void editing_host_page_on_edit_comment (EditingHostPage* self);
gpointer multi_text_entry_dialog_mediator_ref (gpointer instance);
void multi_text_entry_dialog_mediator_unref (gpointer instance);
GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object);
void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object);
gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value);
GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST;
GType edit_comment_dialog_get_type (void) G_GNUC_CONST;
gchar* media_source_get_comment (MediaSource* self);
EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event);
EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event);
gchar* edit_comment_dialog_execute (EditCommentDialog* self);
GType edit_comment_command_get_type (void) G_GNUC_CONST;
EditCommentCommand* edit_comment_command_new (MediaSource* source, const gchar* new_comment);
EditCommentCommand* edit_comment_command_construct (GType object_type, MediaSource* source, const gchar* new_comment);
void editing_host_page_on_adjust_date_time (EditingHostPage* self);
GType adjust_date_time_dialog_get_type (void) G_GNUC_CONST;
GType dateable_get_type (void) G_GNUC_CONST;
GType direct_photo_page_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);
GeeList* view_collection_get_selected (ViewCollection* self);
GType adjust_date_time_photo_command_get_type (void) G_GNUC_CONST;
AdjustDateTimePhotoCommand* adjust_date_time_photo_command_new (Dateable* dateable, gint64 time_shift, gboolean modify_original);
AdjustDateTimePhotoCommand* adjust_date_time_photo_command_construct (GType object_type, Dateable* dateable, gint64 time_shift, gboolean modify_original);
void editing_host_page_on_set_background (EditingHostPage* self);
gpointer set_background_dialog_ref (gpointer instance);
void set_background_dialog_unref (gpointer instance);
GParamSpec* param_spec_set_background_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_set_background_dialog (GValue* value, gpointer v_object);
void value_take_set_background_dialog (GValue* value, gpointer v_object);
gpointer value_get_set_background_dialog (const GValue* value);
GType set_background_dialog_get_type (void) G_GNUC_CONST;
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 page_window_set_busy_cursor (PageWindow* self);
void desktop_integration_set_background (Photo* photo, gboolean desktop, gboolean screensaver);
void page_window_set_normal_cursor (PageWindow* self);
static gboolean editing_host_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event);
#define RESOURCES_COUNTERCLOCKWISE "object-rotate-left"
#define RESOURCES_ROTATE_CCW_LABEL _ ("Rotate")
static void _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
gboolean page_on_ctrl_pressed (Page* self, GdkEventKey* event);
static gboolean editing_host_page_real_on_ctrl_released (Page* base, GdkEventKey* event);
gboolean page_on_ctrl_released (Page* self, GdkEventKey* event);
void editing_host_page_on_tool_button_toggled (EditingHostPage* self, GtkToggleToolButton* toggle, EditingToolsEditingToolFactory factory);
void editing_host_page_toggle_crop (EditingHostPage* self);
void editing_host_page_toggle_straighten (EditingHostPage* self);
void editing_host_page_toggle_redeye (EditingHostPage* self);
void editing_host_page_toggle_adjust (EditingHostPage* self);
GType editing_tools_straighten_tool_get_type (void) G_GNUC_CONST;
EditingToolsStraightenTool* editing_tools_straighten_tool_factory (void);
static EditingToolsEditingTool* _editing_tools_straighten_tool_factory_editing_tools_editing_tool_factory (void);
GType editing_tools_crop_tool_get_type (void) G_GNUC_CONST;
EditingToolsCropTool* editing_tools_crop_tool_factory (void);
static EditingToolsEditingTool* _editing_tools_crop_tool_factory_editing_tools_editing_tool_factory (void);
GType editing_tools_redeye_tool_get_type (void) G_GNUC_CONST;
EditingToolsRedeyeTool* editing_tools_redeye_tool_factory (void);
static EditingToolsEditingTool* _editing_tools_redeye_tool_factory_editing_tools_editing_tool_factory (void);
GType editing_tools_adjust_tool_get_type (void) G_GNUC_CONST;
EditingToolsAdjustTool* editing_tools_adjust_tool_factory (void);
static EditingToolsEditingTool* _editing_tools_adjust_tool_factory_editing_tools_editing_tool_factory (void);
gboolean editing_tools_adjust_tool_enhance (EditingToolsAdjustTool* self);
GType enhance_single_command_get_type (void) G_GNUC_CONST;
EnhanceSingleCommand* enhance_single_command_new (Photo* photo);
EnhanceSingleCommand* enhance_single_command_construct (GType object_type, Photo* photo);
void editing_host_page_on_copy_adjustments (EditingHostPage* self);
gpointer pixel_transformation_bundle_ref (gpointer instance);
void pixel_transformation_bundle_unref (gpointer instance);
GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object);
void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object);
gpointer value_get_pixel_transformation_bundle (const GValue* value);
GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST;
void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments);
PixelTransformationBundle* photo_get_color_adjustments (Photo* self);
void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive);
void editing_host_page_on_paste_adjustments (EditingHostPage* self);
PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void);
GType adjust_colors_single_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")
AdjustColorsSingleCommand* adjust_colors_single_command_new (Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation);
AdjustColorsSingleCommand* adjust_colors_single_command_construct (GType object_type, Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation);
static void editing_host_page_real_on_next_photo (SinglePhotoPage* base);
DataView* view_collection_get_next (ViewCollection* self, DataView* view);
static void editing_host_page_real_on_previous_photo (SinglePhotoPage* base);
DataView* view_collection_get_previous (ViewCollection* self, DataView* view);
gboolean editing_host_page_has_current_tool (EditingHostPage* self);
void editing_host_page_unset_view_collection (EditingHostPage* self);
#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvasPrivate))
enum  {
	EDITING_HOST_PAGE_EDITING_HOST_CANVAS_DUMMY_PROPERTY
};
cairo_t* single_photo_page_get_cairo_context (SinglePhotoPage* self);
GdkPixbuf* single_photo_page_get_scaled_pixbuf (SinglePhotoPage* self);
EditingToolsPhotoCanvas* editing_tools_photo_canvas_construct (GType object_type, GtkWindow* container, GdkWindow* drawing_window, Photo* photo, cairo_t* default_ctx, Dimensions* surface_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position);
static void editing_host_page_editing_host_canvas_real_repaint (EditingToolsPhotoCanvas* base);
static void editing_host_page_editing_host_canvas_finalize (EditingToolsPhotoCanvas* obj);
static void editing_host_page_finalize (GObject* obj);
GType library_photo_page_get_type (void) G_GNUC_CONST;
GType raw_developer_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;
gpointer view_filter_ref (gpointer instance);
void view_filter_unref (gpointer instance);
GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_view_filter (GValue* value, gpointer v_object);
void value_take_view_filter (GValue* value, gpointer v_object);
gpointer value_get_view_filter (const GValue* value);
GType view_filter_get_type (void) G_GNUC_CONST;
static GType library_photo_page_library_photo_page_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define LIBRARY_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPagePrivate))
enum  {
	LIBRARY_PHOTO_PAGE_DUMMY_PROPERTY
};
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;
static void library_photo_page_on_photo_destroyed (LibraryPhotoPage* self, DataSource* source);
static void _library_photo_page_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self);
static void library_photo_page_on_metadata_altered (LibraryPhotoPage* self, GeeMap* map);
static void _library_photo_page_on_metadata_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
GType configuration_facade_get_type (void) G_GNUC_CONST;
GType config_facade_get_type (void) G_GNUC_CONST;
ConfigFacade* config_facade_get_instance (void);
static void library_photo_page_on_external_app_changed (LibraryPhotoPage* self);
static void _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self);
static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_new (void);
static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_construct (GType object_type);
LibraryPhotoPage* library_photo_page_new (void);
LibraryPhotoPage* library_photo_page_construct (GType object_type);
static void library_photo_page_on_photos_altered (LibraryPhotoPage* self);
static void _library_photo_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self);
void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f);
static void library_photo_page_on_photo_unlinking (LibraryPhotoPage* self, GeeCollection* unlinking);
static void _library_photo_page_on_photo_unlinking_source_collection_items_unlinking (SourceCollection* _sender, GeeCollection* unlinking, gpointer self);
static void library_photo_page_on_photo_relinked (LibraryPhotoPage* self, GeeCollection* relinked);
static void _library_photo_page_on_photo_relinked_source_collection_items_relinked (SourceCollection* _sender, GeeCollection* relinked, gpointer self);
gboolean library_photo_page_not_trashed_view_filter (LibraryPhotoPage* self, DataView* view);
gboolean media_source_is_trashed (MediaSource* self);
static void library_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
static GtkActionEntry* library_photo_page_real_init_collect_action_entries (Page* base, int* result_length1);
GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
#define RESOURCES_SAVE_AS_LABEL _ ("Save _As")
#define TRANSLATABLE "translatable"
static void library_photo_page_on_export (LibraryPhotoPage* self);
static void _library_photo_page_on_export_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_EXPORT_MENU _ ("_Export...")
static void _vala_array_add193 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_PRINT_LABEL _ ("_Print")
static void library_photo_page_on_print (LibraryPhotoPage* self);
static void _library_photo_page_on_print_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_PRINT_MENU _ ("_Print...")
static void _vala_array_add194 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_PUBLISH "applications-internet"
static void library_photo_page_on_publish (LibraryPhotoPage* self);
static void _library_photo_page_on_publish_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_PUBLISH_MENU _ ("Pu_blish...")
#define RESOURCES_PUBLISH_TOOLTIP _ ("Publish to various websites")
static void _vala_array_add195 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_REMOVE_LABEL _ ("_Remove")
static void library_photo_page_on_remove_from_library (LibraryPhotoPage* self);
static void _library_photo_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library")
static void _vala_array_add196 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_move_to_trash (LibraryPhotoPage* self);
static void _library_photo_page_on_move_to_trash_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_MOVE_TO_TRASH_MENU _ ("_Move to Trash")
static void _vala_array_add197 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_view_menu (LibraryPhotoPage* self);
static void _library_photo_page_on_view_menu_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add198 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _vala_array_add199 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _single_photo_page_on_previous_photo_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add200 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _single_photo_page_on_next_photo_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add201 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_ROTATE_CW_MENU _ ("Rotate _Right")
static void _vala_array_add202 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_ROTATE_CCW_MENU _ ("Rotate _Left")
static void _vala_array_add203 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_HFLIP "object-flip-horizontal"
static void _editing_host_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_HFLIP_MENU _ ("Flip Hori_zontally")
static void _vala_array_add204 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_VFLIP "object-flip-vertical"
static void _editing_host_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_VFLIP_MENU _ ("Flip Verti_cally")
static void _vala_array_add205 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_ENHANCE_MENU _ ("_Enhance")
static void _vala_array_add206 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_copy_adjustments_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_COPY_ADJUSTMENTS_MENU _ ("_Copy Color Adjustments")
#define RESOURCES_COPY_ADJUSTMENTS_TOOLTIP _ ("Copy the color adjustments applied to the photo")
static void _vala_array_add207 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_paste_adjustments_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_PASTE_ADJUSTMENTS_MENU _ ("_Paste Color Adjustments")
static void _vala_array_add208 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_toggle_crop_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_CROP_MENU _ ("_Crop")
static void _vala_array_add209 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_REFRESH_LABEL _ ("_Refresh")
static void _editing_host_page_toggle_straighten_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_STRAIGHTEN_MENU _ ("_Straighten")
static void _vala_array_add210 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_toggle_redeye_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_RED_EYE_MENU _ ("_Red-eye")
static void _vala_array_add211 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_toggle_adjust_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_ADJUST_MENU _ ("_Adjust")
static void _vala_array_add212 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_REVERT_TO_SAVED_LABEL _ ("_Revert")
static void _editing_host_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_REVERT_MENU _ ("Re_vert to Original")
static void _vala_array_add213 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_edit_title_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_EDIT_TITLE_MENU _ ("Edit _Title...")
static void _vala_array_add214 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_EDIT_COMMENT_MENU _ ("Edit _Comment...")
static void _vala_array_add215 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_ADJUST_DATE_TIME_MENU _ ("_Adjust Date and Time...")
static void _vala_array_add216 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_EDIT_LABEL _ ("_Edit")
static void library_photo_page_on_external_edit (LibraryPhotoPage* self);
static void _library_photo_page_on_external_edit_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_EXTERNAL_EDIT_MENU _ ("Open With E_xternal Editor")
static void _vala_array_add217 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_external_edit_raw (LibraryPhotoPage* self);
static void _library_photo_page_on_external_edit_raw_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_EXTERNAL_EDIT_RAW_MENU _ ("Open With RA_W Editor")
static void _vala_array_add218 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_send_to (LibraryPhotoPage* self);
static void _library_photo_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_SEND_TO_MENU _ ("Send _To...")
static void _vala_array_add219 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_SET_BACKGROUND_MENU _ ("Set as _Desktop Background")
#define RESOURCES_SET_BACKGROUND_TOOLTIP _ ("Set selected image to be the new desktop background")
static void _vala_array_add220 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_flag_unflag (LibraryPhotoPage* self);
static void _library_photo_page_on_flag_unflag_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_FLAG_MENU _ ("_Flag")
static void _vala_array_add221 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_RATING_MENU _ ("_Set Rating")
static void _vala_array_add222 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_increase_rating (LibraryPhotoPage* self);
static void _library_photo_page_on_increase_rating_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_INCREASE_RATING_MENU _ ("_Increase")
static void _vala_array_add223 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_decrease_rating (LibraryPhotoPage* self);
static void _library_photo_page_on_decrease_rating_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_DECREASE_RATING_MENU _ ("_Decrease")
static void _vala_array_add224 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_rejected (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_rejected_gtk_action_callback (GtkAction* action, gpointer self);
GType rating_get_type (void) G_GNUC_CONST;
const gchar* resources_rating_menu (Rating rating);
static void _vala_array_add225 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_unrated (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_unrated_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add226 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_one (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_one_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add227 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_two (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_two_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add228 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_three (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_three_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add229 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_four (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_four_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add230 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_rate_five (LibraryPhotoPage* self);
static void _library_photo_page_on_rate_five_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add231 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_ZOOM_IN_LABEL _ ("Zoom _In")
static void _editing_host_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add232 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_ZOOM_OUT_LABEL _ ("Zoom _Out")
static void _editing_host_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add233 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_ZOOM_FIT_LABEL _ ("Best _Fit")
static void _editing_host_page_snap_zoom_to_min_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add234 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_ZOOM_100_LABEL _ ("_Normal Size")
static void _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add235 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _editing_host_page_snap_zoom_to_max_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add236 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_add_tags (LibraryPhotoPage* self);
static void _library_photo_page_on_add_tags_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_ADD_TAGS_MENU _ ("Add _Tags...")
static void _vala_array_add237 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_modify_tags (LibraryPhotoPage* self);
static void _library_photo_page_on_modify_tags_gtk_action_callback (GtkAction* action, gpointer self);
#define RESOURCES_MODIFY_TAGS_MENU _ ("Modif_y Tags...")
static void _vala_array_add238 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void library_photo_page_on_slideshow (LibraryPhotoPage* self);
static void _library_photo_page_on_slideshow_gtk_action_callback (GtkAction* action, gpointer self);
static void _vala_array_add239 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static void _vala_array_add240 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_SEND_TO_CONTEXT_MENU _ ("Send T_o...")
static void _vala_array_add241 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
#define RESOURCES_ADD_TAGS_CONTEXT_MENU _ ("_Add Tags...")
static void _vala_array_add242 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
static GtkToggleActionEntry* library_photo_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1);
GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1);
static void library_photo_page_on_display_ratings (LibraryPhotoPage* self, GtkAction* action);
static void _library_photo_page_on_display_ratings_gtk_action_callback (GtkAction* action, gpointer self);
gboolean configuration_facade_get_display_photo_ratings (ConfigurationFacade* self);
#define RESOURCES_VIEW_RATINGS_MENU _ ("_Ratings")
#define RESOURCES_VIEW_RATINGS_TOOLTIP _ ("Display each photo's rating")
static void _vala_array_add243 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value);
static InjectionGroup** library_photo_page_real_init_collect_injection_groups (Page* base, int* result_length1);
InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1);
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);
static void _vala_array_add244 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add245 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void _vala_array_add246 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value);
static void library_photo_page_real_register_radio_actions (Page* base, GtkActionGroup* action_group);
gchar* raw_developer_get_label (RawDeveloper self);
static void _vala_array_add247 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value);
static void _vala_array_add248 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value);
static void library_photo_page_on_raw_developer_changed (LibraryPhotoPage* self, GtkAction* action, GtkAction* current);
static void _library_photo_page_on_raw_developer_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self);
void page_register_radio_actions (Page* self, GtkActionGroup* action_group);
static void library_photo_page_set_display_ratings (LibraryPhotoPage* self, gboolean display);
void configuration_facade_set_display_photo_ratings (ConfigurationFacade* self, gboolean display);
GtkAction* page_get_action (Page* self, const gchar* name);
static void library_photo_page_real_update_actions (Page* base, gint selected_count, gint count);
PhotoFileFormat photo_get_master_file_format (Photo* self);
gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self);
static void library_photo_page_update_rating_menu_item_sensitivity (LibraryPhotoPage* self);
static void library_photo_page_update_development_menu_item_sensitivity (LibraryPhotoPage* self);
gboolean photo_has_color_adjustments (Photo* self);
gboolean pixel_transformation_bundle_has_copied_color_adjustments (void);
static void library_photo_page_update_flag_action (LibraryPhotoPage* self);
gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self);
void page_set_action_visible (Page* self, const gchar* name, gboolean visible);
void library_photo_page_developer_changed (LibraryPhotoPage* self, RawDeveloper rd);
static void library_photo_page_real_developer_changed (LibraryPhotoPage* self, RawDeveloper rd);
gboolean raw_developer_is_equivalent (RawDeveloper self, RawDeveloper d);
RawDeveloper photo_get_raw_developer (Photo* self);
gboolean dialogs_confirm_warn_developer_changed (gint number);
GType multiple_data_source_command_get_type (void) G_GNUC_CONST;
GType set_raw_developer_command_get_type (void) G_GNUC_CONST;
SetRawDeveloperCommand* set_raw_developer_command_new (GeeIterable* iter, RawDeveloper developer);
SetRawDeveloperCommand* set_raw_developer_command_construct (GType object_type, GeeIterable* iter, RawDeveloper developer);
GType flaggable_get_type (void) G_GNUC_CONST;
gboolean flaggable_is_flagged (Flaggable* self);
#define RESOURCES_UNFLAG_MENU _ ("Un_flag")
void library_photo_page_display_for_collection (LibraryPhotoPage* self, CollectionPage* return_page, Photo* photo, ViewCollection* view);
void library_photo_page_on_page_destroyed (LibraryPhotoPage* self);
static void _library_photo_page_on_page_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self);
CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self);
static void library_photo_page_real_switched_to (Page* base);
static void library_photo_page_update_zoom_menu_item_sensitivity (LibraryPhotoPage* self);
static GdkPixbuf* library_photo_page_real_get_bottom_left_trinket (EditingHostPage* base, gint scale);
GdkPixbuf* resources_get_rating_trinket (Rating rating, gint scale);
Rating media_source_get_rating (MediaSource* self);
static GdkPixbuf* library_photo_page_real_get_top_right_trinket (EditingHostPage* base, gint scale);
GdkPixbuf* resources_get_icon (const gchar* name, gint scale);
#define RESOURCES_ICON_FLAGGED_TRINKET "flag-trinket.png"
#define RESOURCES_DEFAULT_ICON_SCALE 24
void app_window_go_fullscreen (AppWindow* self, Page* page);
SlideshowPage* slideshow_page_new (SourceCollection* sources, ViewCollection* controller, Photo* start);
SlideshowPage* slideshow_page_construct (GType object_type, SourceCollection* sources, ViewCollection* controller, Photo* start);
GType slideshow_page_get_type (void) G_GNUC_CONST;
static void library_photo_page_real_on_increase_size (EditingHostPage* base);
static void library_photo_page_real_on_decrease_size (EditingHostPage* base);
static gboolean library_photo_page_real_on_zoom_slider_key_press (EditingHostPage* base, GdkEventKey* event);
static void library_photo_page_return_to_collection (LibraryPhotoPage* self);
static void library_photo_page_real_update_ui (EditingHostPage* base, gboolean missing);
static void library_photo_page_real_notify_photo_backing_missing (EditingHostPage* base, Photo* photo, gboolean missing);
void media_source_mark_offline (MediaSource* self);
void media_source_mark_online (MediaSource* self);
static gboolean library_photo_page_real_key_press_event (GtkWidget* base, GdkEventKey* event);
static gboolean library_photo_page_real_on_double_click (EditingHostPage* base, GdkEventButton* event);
void fullscreen_window_close (FullscreenWindow* self);
static gboolean library_photo_page_real_on_left_released (Page* base, GdkEventButton* event);
gboolean page_on_left_released (Page* self, GdkEventButton* event);
static GtkMenu* library_photo_page_get_context_menu (LibraryPhotoPage* self);
static gboolean library_photo_page_real_on_context_buttonpress (Page* base, GdkEventButton* event);
gboolean page_popup_context_menu (Page* self, GtkMenu* context_menu, GdkEventButton* event);
static gboolean library_photo_page_real_on_context_keypress (Page* base);
GType library_window_get_type (void) G_GNUC_CONST;
LibraryWindow* library_window_get_app (void);
void library_window_switch_to_page (LibraryWindow* self, Page* page);
void library_window_switch_to_library_page (LibraryWindow* self);
void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text);
GType event_page_get_type (void) G_GNUC_CONST;
void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable);
TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash);
TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash);
GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST;
FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag);
FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag);
GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST;
GType flag_unflag_command_get_type (void) G_GNUC_CONST;
static void library_photo_page_on_photo_removed (LibraryPhotoPage* self, LibraryPhoto* photo);
void data_collection_remove_marked (DataCollection* self, Marker* m);
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);
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 desktop_integration_send_to (GeeCollection* media);
GeeList* view_collection_get_selected_sources (ViewCollection* 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_last (ExportFormatParameters* result);
gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters);
GFile* export_ui_choose_file (const gchar* current_file_basename);
gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params);
void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result);
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 publishing_ui_publishing_dialog_go (GeeCollection* to_publish);
GType set_rating_single_command_get_type (void) G_GNUC_CONST;
SetRatingSingleCommand* set_rating_single_command_new_inc_dec (DataSource* source, gboolean is_incrementing);
SetRatingSingleCommand* set_rating_single_command_construct_inc_dec (GType object_type, DataSource* source, gboolean is_incrementing);
static void library_photo_page_on_set_rating (LibraryPhotoPage* self, Rating rating);
SetRatingSingleCommand* set_rating_single_command_new (DataSource* source, Rating rating);
SetRatingSingleCommand* set_rating_single_command_construct (GType object_type, DataSource* source, Rating rating);
gboolean rating_can_increase (Rating self);
gboolean rating_can_decrease (Rating self);
gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d);
gboolean alteration_has_subject (Alteration* self, const gchar* subject);
GType tags_dialog_get_type (void) G_GNUC_CONST;
GType add_tags_dialog_get_type (void) G_GNUC_CONST;
AddTagsDialog* add_tags_dialog_new (void);
AddTagsDialog* add_tags_dialog_construct (GType object_type);
gchar** add_tags_dialog_execute (AddTagsDialog* self, int* result_length1);
gpointer hierarchical_tag_index_ref (gpointer instance);
void hierarchical_tag_index_unref (gpointer instance);
GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_hierarchical_tag_index (GValue* value, gpointer v_object);
void value_take_hierarchical_tag_index (GValue* value, gpointer v_object);
gpointer value_get_hierarchical_tag_index (const GValue* value);
GType hierarchical_tag_index_get_type (void) G_GNUC_CONST;
HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void);
gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self, gchar** names, int names_length1, int* result_length1);
AddTagsCommand* add_tags_command_new (gchar** paths, int paths_length1, GeeCollection* sources);
AddTagsCommand* add_tags_command_construct (GType object_type, gchar** paths, int paths_length1, GeeCollection* sources);
GType add_tags_command_get_type (void) G_GNUC_CONST;
GType modify_tags_dialog_get_type (void) G_GNUC_CONST;
ModifyTagsDialog* modify_tags_dialog_new (MediaSource* source);
ModifyTagsDialog* modify_tags_dialog_construct (GType object_type, MediaSource* source);
GType tag_get_type (void) G_GNUC_CONST;
GeeArrayList* modify_tags_dialog_execute (ModifyTagsDialog* self);
ModifyTagsCommand* modify_tags_command_new (MediaSource* media, GeeCollection* new_tag_list);
ModifyTagsCommand* modify_tags_command_construct (GType object_type, MediaSource* media, GeeCollection* new_tag_list);
GType modify_tags_command_get_type (void) G_GNUC_CONST;
enum  {
	LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER_DUMMY_PROPERTY
};
static gboolean library_photo_page_library_photo_page_view_filter_real_predicate (ViewFilter* base, DataView* view);
ViewFilter* view_filter_construct (GType object_type);
static void library_photo_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 GType zoom_buffer_object_state_get_type (void) {
	static volatile gsize zoom_buffer_object_state_type_id__volatile = 0;
	if (g_once_init_enter (&zoom_buffer_object_state_type_id__volatile)) {
		static const GEnumValue values[] = {{ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED, "ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED", "source-not-loaded"}, {ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS, "ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS", "source-load-in-progress"}, {ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED, "ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED", "source-not-transformed"}, {ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY, "ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY", "transformed-ready"}, {0, NULL, NULL}};
		GType zoom_buffer_object_state_type_id;
		zoom_buffer_object_state_type_id = g_enum_register_static ("ZoomBufferObjectState", values);
		g_once_init_leave (&zoom_buffer_object_state_type_id__volatile, zoom_buffer_object_state_type_id);
	}
	return zoom_buffer_object_state_type_id__volatile;
}


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


ZoomBuffer* zoom_buffer_construct (GType object_type, SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image) {
	ZoomBuffer * self = NULL;
	SinglePhotoPage* _tmp0_ = NULL;
	SinglePhotoPage* _tmp1_ = NULL;
	GdkPixbuf* _tmp2_ = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	Photo* _tmp5_ = NULL;
	Workers* _tmp6_ = NULL;
#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (parent_page), NULL);
#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (backing_photo), NULL);
#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (GDK_IS_PIXBUF (preview_image), NULL);
#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (ZoomBuffer*) g_object_new (object_type, NULL);
#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = parent_page;
#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->parent_page);
#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->parent_page = _tmp1_;
#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = preview_image;
#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->preview_image);
#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->preview_image = _tmp3_;
#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = backing_photo;
#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->backing_photo);
#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->backing_photo = _tmp5_;
#line 89 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = workers_new ((guint) 2, FALSE);
#line 89 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_workers_unref0 (self->priv->workers);
#line 89 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->workers = _tmp6_;
#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 2598 "PhotoPage.c"
}


ZoomBuffer* zoom_buffer_new (SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image) {
#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return zoom_buffer_construct (TYPE_ZOOM_BUFFER, parent_page, backing_photo, preview_image);
#line 2605 "PhotoPage.c"
}


static gpointer _background_job_ref0 (gpointer self) {
#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self ? background_job_ref (self) : NULL;
#line 2612 "PhotoPage.c"
}


static void _zoom_buffer_on_iso_transformation_complete_completion_callback (BackgroundJob* job, gpointer self) {
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_buffer_on_iso_transformation_complete ((ZoomBuffer*) self, job);
#line 2619 "PhotoPage.c"
}


static void zoom_buffer_on_iso_source_fetch_complete (ZoomBuffer* self, BackgroundJob* job) {
	ZoomBufferIsoSourceFetchJob* fetch_job = NULL;
	BackgroundJob* _tmp0_ = NULL;
	ZoomBufferIsoSourceFetchJob* _tmp1_ = NULL;
	ZoomBufferIsoSourceFetchJob* _tmp2_ = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	ZoomBufferIsoSourceFetchJob* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
	GdkPixbuf* _tmp7_ = NULL;
	gint _tmp8_ = 0;
	gint _tmp9_ = 0;
	GdkPixbuf* _tmp10_ = NULL;
	gint _tmp11_ = 0;
	gint _tmp12_ = 0;
	gboolean _tmp21_ = FALSE;
	BackgroundJob* transformation_job = NULL;
	GdkPixbuf* _tmp23_ = NULL;
	Photo* _tmp24_ = NULL;
	PixelTransformer* _tmp25_ = NULL;
	PixelTransformer* _tmp26_ = NULL;
	GCancellable* _tmp27_ = NULL;
	GCancellable* _tmp28_ = NULL;
	ZoomBufferTransformationJob* _tmp29_ = NULL;
	BackgroundJob* _tmp30_ = NULL;
	Workers* _tmp31_ = NULL;
	BackgroundJob* _tmp32_ = NULL;
#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_ZOOM_BUFFER (self));
#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (job));
#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = job;
#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob));
#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	fetch_job = _tmp1_;
#line 94 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = fetch_job;
#line 94 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_->fetched;
#line 94 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ == NULL) {
#line 95 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_critical ("PhotoPage.vala:95: ZoomBuffer: iso_source_fetch_complete( ): fetch job" \
" has null image member");
#line 96 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_background_job_unref0 (fetch_job);
#line 96 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 2672 "PhotoPage.c"
	}
#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = fetch_job;
#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_->fetched;
#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->iso_source_image);
#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->iso_source_image = _tmp6_;
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = self->priv->iso_source_image;
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = gdk_pixbuf_get_width (_tmp7_);
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = self->priv->iso_source_image;
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = gdk_pixbuf_get_height (_tmp10_);
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((_tmp9_ * _tmp12_) > ZOOM_BUFFER_USE_REDUCED_THRESHOLD) {
#line 2698 "PhotoPage.c"
		GdkPixbuf* _tmp13_ = NULL;
		GdkPixbuf* _tmp14_ = NULL;
		gint _tmp15_ = 0;
		gint _tmp16_ = 0;
		GdkPixbuf* _tmp17_ = NULL;
		gint _tmp18_ = 0;
		gint _tmp19_ = 0;
		GdkPixbuf* _tmp20_ = NULL;
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = self->priv->iso_source_image;
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = self->priv->iso_source_image;
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = gdk_pixbuf_get_width (_tmp14_);
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = self->priv->iso_source_image;
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = gdk_pixbuf_get_height (_tmp17_);
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = gdk_pixbuf_scale_simple (_tmp13_, _tmp16_ / 2, _tmp19_ / 2, GDK_INTERP_BILINEAR);
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (self->priv->reduced_source_image);
#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->reduced_source_image = _tmp20_;
#line 2727 "PhotoPage.c"
	}
#line 104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED;
#line 106 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = self->priv->is_interactive_redraw_in_progress;
#line 106 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp21_) {
#line 2735 "PhotoPage.c"
		SinglePhotoPage* _tmp22_ = NULL;
#line 107 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = self->priv->parent_page;
#line 107 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_repaint (_tmp22_, NULL);
#line 2741 "PhotoPage.c"
	}
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = self->priv->iso_source_image;
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = self->priv->backing_photo;
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = photo_get_pixel_transformer (_tmp24_);
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = _tmp25_;
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = g_cancellable_new ();
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = _tmp27_;
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = zoom_buffer_transformation_job_new (self, _tmp23_, _tmp26_, _zoom_buffer_on_iso_transformation_complete_completion_callback, self, _tmp28_);
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_BACKGROUND_JOB, BackgroundJob);
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp28_);
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_pixel_transformer_unref0 (_tmp26_);
#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	transformation_job = _tmp30_;
#line 112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = self->priv->workers;
#line 112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp32_ = transformation_job;
#line 112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	workers_enqueue (_tmp31_, _tmp32_);
#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_background_job_unref0 (transformation_job);
#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_background_job_unref0 (fetch_job);
#line 2775 "PhotoPage.c"
}


static void zoom_buffer_on_iso_transformation_complete (ZoomBuffer* self, BackgroundJob* job) {
	ZoomBufferTransformationJob* transform_job = NULL;
	BackgroundJob* _tmp0_ = NULL;
	ZoomBufferTransformationJob* _tmp1_ = NULL;
	ZoomBufferTransformationJob* _tmp2_ = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	ZoomBufferTransformationJob* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
	GdkPixbuf* _tmp7_ = NULL;
	gint _tmp8_ = 0;
	gint _tmp9_ = 0;
	GdkPixbuf* _tmp10_ = NULL;
	gint _tmp11_ = 0;
	gint _tmp12_ = 0;
#line 115 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_ZOOM_BUFFER (self));
#line 115 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (job));
#line 116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = job;
#line 116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob));
#line 116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	transform_job = _tmp1_;
#line 117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = transform_job;
#line 117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_->transformed;
#line 117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ == NULL) {
#line 118 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_critical ("PhotoPage.vala:118: %s", "ZoomBuffer: on_iso_transformation_complete( ): completed job has null " "image");
#line 120 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_background_job_unref0 (transform_job);
#line 120 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 2816 "PhotoPage.c"
	}
#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = transform_job;
#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_->transformed;
#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->iso_transformed_image);
#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->iso_transformed_image = _tmp6_;
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = self->priv->iso_transformed_image;
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = gdk_pixbuf_get_width (_tmp7_);
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = self->priv->iso_transformed_image;
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = gdk_pixbuf_get_height (_tmp10_);
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((_tmp9_ * _tmp12_) > ZOOM_BUFFER_USE_REDUCED_THRESHOLD) {
#line 2842 "PhotoPage.c"
		GdkPixbuf* _tmp13_ = NULL;
		GdkPixbuf* _tmp14_ = NULL;
		gint _tmp15_ = 0;
		gint _tmp16_ = 0;
		GdkPixbuf* _tmp17_ = NULL;
		gint _tmp18_ = 0;
		gint _tmp19_ = 0;
		GdkPixbuf* _tmp20_ = NULL;
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = self->priv->iso_transformed_image;
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = self->priv->iso_transformed_image;
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = gdk_pixbuf_get_width (_tmp14_);
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = self->priv->iso_transformed_image;
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = gdk_pixbuf_get_height (_tmp17_);
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = gdk_pixbuf_scale_simple (_tmp13_, _tmp16_ / 2, _tmp19_ / 2, GDK_INTERP_BILINEAR);
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (self->priv->reduced_transformed_image);
#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->reduced_transformed_image = _tmp20_;
#line 2871 "PhotoPage.c"
	}
#line 129 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY;
#line 115 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_background_job_unref0 (transform_job);
#line 2877 "PhotoPage.c"
}


static void zoom_buffer_on_demand_transform_complete (ZoomBuffer* self, BackgroundJob* job) {
	ZoomBufferTransformationJob* transform_job = NULL;
	BackgroundJob* _tmp0_ = NULL;
	ZoomBufferTransformationJob* _tmp1_ = NULL;
	ZoomBufferTransformationJob* _tmp2_ = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	ZoomBufferTransformationJob* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
	SinglePhotoPage* _tmp7_ = NULL;
#line 132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_ZOOM_BUFFER (self));
#line 132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (job));
#line 133 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = job;
#line 133 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob));
#line 133 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	transform_job = _tmp1_;
#line 134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = transform_job;
#line 134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_->transformed;
#line 134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ == NULL) {
#line 135 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_critical ("PhotoPage.vala:135: %s", "ZoomBuffer: on_demand_transform_complete( ): completed job has null " "image");
#line 137 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_background_job_unref0 (transform_job);
#line 137 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 2913 "PhotoPage.c"
	}
#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = transform_job;
#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_->transformed;
#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->demand_transform_cached_pixbuf);
#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->demand_transform_cached_pixbuf = _tmp6_;
#line 141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_background_job_unref0 (self->priv->demand_transform_job);
#line 141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->demand_transform_job = NULL;
#line 143 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = self->priv->parent_page;
#line 143 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (_tmp7_, NULL);
#line 132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_background_job_unref0 (transform_job);
#line 2935 "PhotoPage.c"
}


static GdkPixbuf* zoom_buffer_get_view_projection_pixbuf (ZoomBuffer* self, ZoomState* zoom_state, GdkPixbuf* iso_pixbuf, GdkPixbuf* reduced_pixbuf) {
	GdkPixbuf* result = NULL;
	GdkRectangle view_rect = {0};
	GdkRectangle _tmp0_ = {0};
	GdkRectangle view_rect_proj = {0};
	GdkPixbuf* _tmp1_ = NULL;
	GdkRectangle _tmp2_ = {0};
	GdkPixbuf* sample_source_pixbuf = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	GdkPixbuf* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GdkPixbuf* _tmp6_ = NULL;
	GdkRectangle _tmp14_ = {0};
	gint _tmp15_ = 0;
	gint _tmp16_ = 0;
	GdkRectangle _tmp17_ = {0};
	gint _tmp18_ = 0;
	gint _tmp19_ = 0;
	GdkRectangle _tmp20_ = {0};
	gint _tmp21_ = 0;
	gint _tmp22_ = 0;
	GdkRectangle _tmp23_ = {0};
	gint _tmp24_ = 0;
	gint _tmp25_ = 0;
	GdkPixbuf* proj_subpixbuf = NULL;
	GdkPixbuf* _tmp26_ = NULL;
	GdkRectangle _tmp27_ = {0};
	gint _tmp28_ = 0;
	GdkRectangle _tmp29_ = {0};
	gint _tmp30_ = 0;
	GdkRectangle _tmp31_ = {0};
	gint _tmp32_ = 0;
	GdkRectangle _tmp33_ = {0};
	gint _tmp34_ = 0;
	GdkPixbuf* _tmp35_ = NULL;
	GdkPixbuf* zoomed = NULL;
	GdkRectangle _tmp36_ = {0};
	gint _tmp37_ = 0;
	GdkRectangle _tmp38_ = {0};
	gint _tmp39_ = 0;
	GdkPixbuf* _tmp40_ = NULL;
#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL);
#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (zoom_state != NULL, NULL);
#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (GDK_IS_PIXBUF (iso_pixbuf), NULL);
#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail ((reduced_pixbuf == NULL) || GDK_IS_PIXBUF (reduced_pixbuf), NULL);
#line 151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp0_);
#line 151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect = _tmp0_;
#line 152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = iso_pixbuf;
#line 152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewing_rectangle_projection (zoom_state, _tmp1_, &_tmp2_);
#line 152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect_proj = _tmp2_;
#line 154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = iso_pixbuf;
#line 154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	sample_source_pixbuf = _tmp4_;
#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = reduced_pixbuf;
#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_ != NULL) {
#line 3008 "PhotoPage.c"
		gdouble _tmp7_ = 0.0;
#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = zoom_state_get_zoom_factor (zoom_state);
#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp7_ < 0.5;
#line 3014 "PhotoPage.c"
	} else {
#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = FALSE;
#line 3018 "PhotoPage.c"
	}
#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_) {
#line 3022 "PhotoPage.c"
		GdkPixbuf* _tmp8_ = NULL;
		GdkPixbuf* _tmp9_ = NULL;
		gint _tmp10_ = 0;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		gint _tmp13_ = 0;
#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = reduced_pixbuf;
#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (sample_source_pixbuf);
#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		sample_source_pixbuf = _tmp9_;
#line 158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = view_rect_proj.x;
#line 158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_rect_proj.x = _tmp10_ / 2;
#line 159 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = view_rect_proj.y;
#line 159 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_rect_proj.y = _tmp11_ / 2;
#line 160 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = view_rect_proj.width;
#line 160 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_rect_proj.width = _tmp12_ / 2;
#line 161 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = view_rect_proj.height;
#line 161 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_rect_proj.height = _tmp13_ / 2;
#line 3053 "PhotoPage.c"
	}
#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = view_rect_proj;
#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = _tmp14_.width;
#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = CLAMP (_tmp15_, 1, G_MAXINT);
#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect_proj.width = _tmp16_;
#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = view_rect_proj;
#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = _tmp17_.height;
#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = CLAMP (_tmp18_, 1, G_MAXINT);
#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect_proj.height = _tmp19_;
#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = view_rect;
#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = _tmp20_.width;
#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = CLAMP (_tmp21_, 1, G_MAXINT);
#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect.width = _tmp22_;
#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = view_rect;
#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = _tmp23_.height;
#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = CLAMP (_tmp24_, 1, G_MAXINT);
#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect.height = _tmp25_;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = sample_source_pixbuf;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = view_rect_proj;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = _tmp27_.x;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = view_rect_proj;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = _tmp29_.y;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = view_rect_proj;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp32_ = _tmp31_.width;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33_ = view_rect_proj;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp34_ = _tmp33_.height;
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_ = gdk_pixbuf_new_subpixbuf (_tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_);
#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	proj_subpixbuf = _tmp35_;
#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp36_ = view_rect;
#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp37_ = _tmp36_.width;
#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_ = view_rect;
#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp39_ = _tmp38_.height;
#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp40_ = gdk_pixbuf_scale_simple (proj_subpixbuf, _tmp37_, _tmp39_, GDK_INTERP_BILINEAR);
#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoomed = _tmp40_;
#line 179 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (zoomed != NULL, "zoomed != null");
#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = zoomed;
#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (proj_subpixbuf);
#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (sample_source_pixbuf);
#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 3131 "PhotoPage.c"
}


static void _zoom_buffer_on_demand_transform_complete_completion_callback (BackgroundJob* job, gpointer self) {
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_buffer_on_demand_transform_complete ((ZoomBuffer*) self, job);
#line 3138 "PhotoPage.c"
}


static GdkPixbuf* zoom_buffer_get_zoomed_image_source_not_transformed (ZoomBuffer* self, ZoomState* zoom_state) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* _tmp0_ = NULL;
	ZoomBufferTransformationJob* _tmp97_ = NULL;
	ZoomBufferTransformationJob* _tmp119_ = NULL;
	ZoomState _tmp136_ = {0};
	GdkPixbuf* _tmp137_ = NULL;
#line 184 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL);
#line 184 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (zoom_state != NULL, NULL);
#line 185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->demand_transform_cached_pixbuf;
#line 185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 3157 "PhotoPage.c"
		ZoomState _tmp1_ = {0};
		gboolean _tmp2_ = FALSE;
#line 186 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->demand_transform_zoom_state;
#line 186 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = zoom_state_equals (zoom_state, &_tmp1_);
#line 186 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp2_) {
#line 3166 "PhotoPage.c"
			GdkPixbuf* _tmp3_ = NULL;
			GdkPixbuf* _tmp4_ = NULL;
#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp3_ = self->priv->demand_transform_cached_pixbuf;
#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp4_ = _g_object_ref0 (_tmp3_);
#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp4_;
#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 3177 "PhotoPage.c"
		} else {
			gdouble _tmp5_ = 0.0;
			gdouble _tmp6_ = 0.0;
#line 191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp5_ = zoom_state_get_zoom_factor (zoom_state);
#line 191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = zoom_state_get_zoom_factor (&self->priv->demand_transform_zoom_state);
#line 191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp5_ == _tmp6_) {
#line 3187 "PhotoPage.c"
				GdkRectangle curr_rect = {0};
				GdkRectangle _tmp7_ = {0};
				GdkRectangle pre_rect = {0};
				GdkRectangle _tmp8_ = {0};
				GdkRectangle transfer_src_rect = {0};
				GdkRectangle transfer_dest_rect = {0};
				GdkRectangle _tmp9_ = {0};
				gint _tmp10_ = 0;
				GdkRectangle _tmp11_ = {0};
				gint _tmp12_ = 0;
				GdkRectangle _tmp13_ = {0};
				gint _tmp14_ = 0;
				gint _tmp15_ = 0;
				GdkRectangle _tmp16_ = {0};
				gint _tmp17_ = 0;
				GdkRectangle _tmp18_ = {0};
				gint _tmp19_ = 0;
				GdkRectangle _tmp20_ = {0};
				gint _tmp21_ = 0;
				gint _tmp22_ = 0;
				gint transfer_src_right = 0;
				GdkRectangle _tmp23_ = {0};
				gint _tmp24_ = 0;
				GdkRectangle _tmp25_ = {0};
				gint _tmp26_ = 0;
				GdkRectangle _tmp27_ = {0};
				gint _tmp28_ = 0;
				GdkRectangle _tmp29_ = {0};
				gint _tmp30_ = 0;
				gint _tmp31_ = 0;
				gint _tmp32_ = 0;
				GdkRectangle _tmp33_ = {0};
				gint _tmp34_ = 0;
				gint transfer_src_bottom = 0;
				GdkRectangle _tmp35_ = {0};
				gint _tmp36_ = 0;
				GdkRectangle _tmp37_ = {0};
				gint _tmp38_ = 0;
				GdkRectangle _tmp39_ = {0};
				gint _tmp40_ = 0;
				GdkRectangle _tmp41_ = {0};
				gint _tmp42_ = 0;
				gint _tmp43_ = 0;
				gint _tmp44_ = 0;
				GdkRectangle _tmp45_ = {0};
				gint _tmp46_ = 0;
				GdkRectangle _tmp47_ = {0};
				gint _tmp48_ = 0;
				GdkRectangle _tmp49_ = {0};
				gint _tmp50_ = 0;
				GdkRectangle _tmp51_ = {0};
				gint _tmp52_ = 0;
				gint _tmp53_ = 0;
				GdkRectangle _tmp54_ = {0};
				gint _tmp55_ = 0;
				GdkRectangle _tmp56_ = {0};
				gint _tmp57_ = 0;
				GdkRectangle _tmp58_ = {0};
				gint _tmp59_ = 0;
				gint _tmp60_ = 0;
				gint transfer_dest_right = 0;
				GdkRectangle _tmp61_ = {0};
				gint _tmp62_ = 0;
				GdkRectangle _tmp63_ = {0};
				gint _tmp64_ = 0;
				GdkRectangle _tmp65_ = {0};
				gint _tmp66_ = 0;
				gint _tmp67_ = 0;
				gint _tmp68_ = 0;
				GdkRectangle _tmp69_ = {0};
				gint _tmp70_ = 0;
				gint transfer_dest_bottom = 0;
				GdkRectangle _tmp71_ = {0};
				gint _tmp72_ = 0;
				GdkRectangle _tmp73_ = {0};
				gint _tmp74_ = 0;
				GdkRectangle _tmp75_ = {0};
				gint _tmp76_ = 0;
				gint _tmp77_ = 0;
				gint _tmp78_ = 0;
				GdkRectangle _tmp79_ = {0};
				gint _tmp80_ = 0;
				GdkPixbuf* composited_result = NULL;
				ZoomState _tmp81_ = {0};
				GdkPixbuf* _tmp82_ = NULL;
				GdkPixbuf* _tmp83_ = NULL;
				GdkRectangle _tmp84_ = {0};
				gint _tmp85_ = 0;
				GdkRectangle _tmp86_ = {0};
				gint _tmp87_ = 0;
				GdkRectangle _tmp88_ = {0};
				gint _tmp89_ = 0;
				GdkRectangle _tmp90_ = {0};
				gint _tmp91_ = 0;
				GdkPixbuf* _tmp92_ = NULL;
				GdkRectangle _tmp93_ = {0};
				gint _tmp94_ = 0;
				GdkRectangle _tmp95_ = {0};
				gint _tmp96_ = 0;
#line 202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp7_);
#line 202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				curr_rect = _tmp7_;
#line 203 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				zoom_state_get_viewing_rectangle_wrt_content (&self->priv->demand_transform_zoom_state, &_tmp8_);
#line 203 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				pre_rect = _tmp8_;
#line 205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				memset (&transfer_src_rect, 0, sizeof (GdkRectangle));
#line 206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				memset (&transfer_dest_rect, 0, sizeof (GdkRectangle));
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp9_ = curr_rect;
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp10_ = _tmp9_.x;
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp11_ = pre_rect;
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp12_ = _tmp11_.x;
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp13_ = pre_rect;
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp14_ = _tmp13_.width;
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp15_ = CLAMP (_tmp10_ - _tmp12_, 0, _tmp14_);
#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_src_rect.x = _tmp15_;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp16_ = curr_rect;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp17_ = _tmp16_.y;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp18_ = pre_rect;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp19_ = _tmp18_.y;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp20_ = pre_rect;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp21_ = _tmp20_.height;
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp22_ = CLAMP (_tmp17_ - _tmp19_, 0, _tmp21_);
#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_src_rect.y = _tmp22_;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp23_ = curr_rect;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp24_ = _tmp23_.x;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp25_ = curr_rect;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp26_ = _tmp25_.width;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp27_ = pre_rect;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp28_ = _tmp27_.width;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp29_ = pre_rect;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp30_ = _tmp29_.width;
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp31_ = CLAMP ((_tmp24_ + _tmp26_) - _tmp28_, 0, _tmp30_);
#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_src_right = _tmp31_;
#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp32_ = transfer_src_right;
#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp33_ = transfer_src_rect;
#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp34_ = _tmp33_.x;
#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_src_rect.width = _tmp32_ - _tmp34_;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp35_ = curr_rect;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp36_ = _tmp35_.y;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp37_ = curr_rect;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp38_ = _tmp37_.height;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp39_ = pre_rect;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp40_ = _tmp39_.width;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp41_ = pre_rect;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp42_ = _tmp41_.height;
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp43_ = CLAMP ((_tmp36_ + _tmp38_) - _tmp40_, 0, _tmp42_);
#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_src_bottom = _tmp43_;
#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp44_ = transfer_src_bottom;
#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp45_ = transfer_src_rect;
#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp46_ = _tmp45_.y;
#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_src_rect.height = _tmp44_ - _tmp46_;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp47_ = pre_rect;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp48_ = _tmp47_.x;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp49_ = curr_rect;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp50_ = _tmp49_.x;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp51_ = curr_rect;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp52_ = _tmp51_.width;
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp53_ = CLAMP (_tmp48_ - _tmp50_, 0, _tmp52_);
#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_dest_rect.x = _tmp53_;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp54_ = pre_rect;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp55_ = _tmp54_.y;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp56_ = curr_rect;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp57_ = _tmp56_.y;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp58_ = curr_rect;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp59_ = _tmp58_.height;
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp60_ = CLAMP (_tmp55_ - _tmp57_, 0, _tmp59_);
#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_dest_rect.y = _tmp60_;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp61_ = transfer_dest_rect;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp62_ = _tmp61_.x;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp63_ = transfer_src_rect;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp64_ = _tmp63_.width;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp65_ = curr_rect;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp66_ = _tmp65_.width;
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp67_ = CLAMP (_tmp62_ + _tmp64_, 0, _tmp66_);
#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_dest_right = _tmp67_;
#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp68_ = transfer_dest_right;
#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp69_ = transfer_dest_rect;
#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp70_ = _tmp69_.x;
#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_dest_rect.width = _tmp68_ - _tmp70_;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp71_ = transfer_dest_rect;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp72_ = _tmp71_.y;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp73_ = transfer_src_rect;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp74_ = _tmp73_.height;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp75_ = curr_rect;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp76_ = _tmp75_.height;
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp77_ = CLAMP (_tmp72_ + _tmp74_, 0, _tmp76_);
#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_dest_bottom = _tmp77_;
#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp78_ = transfer_dest_bottom;
#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp79_ = transfer_dest_rect;
#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp80_ = _tmp79_.y;
#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				transfer_dest_rect.height = _tmp78_ - _tmp80_;
#line 226 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp81_ = *zoom_state;
#line 226 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp82_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp81_);
#line 226 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				composited_result = _tmp82_;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp83_ = self->priv->demand_transform_cached_pixbuf;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp84_ = transfer_src_rect;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp85_ = _tmp84_.x;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp86_ = transfer_src_rect;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp87_ = _tmp86_.y;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp88_ = transfer_dest_rect;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp89_ = _tmp88_.width;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp90_ = transfer_dest_rect;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp91_ = _tmp90_.height;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp92_ = composited_result;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp93_ = transfer_dest_rect;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp94_ = _tmp93_.x;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp95_ = transfer_dest_rect;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp96_ = _tmp95_.y;
#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				gdk_pixbuf_copy_area (_tmp83_, _tmp85_, _tmp87_, _tmp89_, _tmp91_, _tmp92_, _tmp94_, _tmp96_);
#line 231 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				result = composited_result;
#line 231 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return result;
#line 3507 "PhotoPage.c"
			}
		}
	}
#line 242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp97_ = self->priv->demand_transform_job;
#line 242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp97_ != NULL) {
#line 3515 "PhotoPage.c"
		ZoomState _tmp98_ = {0};
		gboolean _tmp99_ = FALSE;
#line 243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp98_ = self->priv->demand_transform_zoom_state;
#line 243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp99_ = zoom_state_equals (zoom_state, &_tmp98_);
#line 243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp99_) {
#line 3524 "PhotoPage.c"
			ZoomState _tmp100_ = {0};
			GdkPixbuf* _tmp101_ = NULL;
#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp100_ = *zoom_state;
#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp101_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp100_);
#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp101_;
#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 3535 "PhotoPage.c"
		} else {
			ZoomBufferTransformationJob* _tmp102_ = NULL;
			GdkPixbuf* zoomed = NULL;
			ZoomState _tmp103_ = {0};
			GdkPixbuf* _tmp104_ = NULL;
			GdkPixbuf* _tmp105_ = NULL;
			GdkPixbuf* _tmp106_ = NULL;
			GdkPixbuf* _tmp107_ = NULL;
			Photo* _tmp108_ = NULL;
			PixelTransformer* _tmp109_ = NULL;
			PixelTransformer* _tmp110_ = NULL;
			GCancellable* _tmp111_ = NULL;
			GCancellable* _tmp112_ = NULL;
			ZoomBufferTransformationJob* _tmp113_ = NULL;
			ZoomState _tmp114_ = {0};
			Workers* _tmp115_ = NULL;
			ZoomBufferTransformationJob* _tmp116_ = NULL;
			ZoomState _tmp117_ = {0};
			GdkPixbuf* _tmp118_ = NULL;
#line 246 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp102_ = self->priv->demand_transform_job;
#line 246 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp102_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_background_job_unref0 (self->priv->demand_transform_job);
#line 247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			self->priv->demand_transform_job = NULL;
#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp103_ = *zoom_state;
#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp104_ = self->priv->iso_source_image;
#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp105_ = self->priv->reduced_source_image;
#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp106_ = zoom_buffer_get_view_projection_pixbuf (self, &_tmp103_, _tmp104_, _tmp105_);
#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			zoomed = _tmp106_;
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp107_ = zoomed;
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp108_ = self->priv->backing_photo;
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp109_ = photo_get_pixel_transformer (_tmp108_);
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp110_ = _tmp109_;
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp111_ = g_cancellable_new ();
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp112_ = _tmp111_;
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp113_ = zoom_buffer_transformation_job_new (self, _tmp107_, _tmp110_, _zoom_buffer_on_demand_transform_complete_completion_callback, self, _tmp112_);
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_background_job_unref0 (self->priv->demand_transform_job);
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			self->priv->demand_transform_job = _tmp113_;
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp112_);
#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_pixel_transformer_unref0 (_tmp110_);
#line 255 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp114_ = *zoom_state;
#line 255 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			self->priv->demand_transform_zoom_state = _tmp114_;
#line 256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp115_ = self->priv->workers;
#line 256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp116_ = self->priv->demand_transform_job;
#line 256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			workers_enqueue (_tmp115_, G_TYPE_CHECK_INSTANCE_CAST (_tmp116_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp117_ = *zoom_state;
#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp118_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp117_);
#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp118_;
#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (zoomed);
#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 3615 "PhotoPage.c"
		}
	}
#line 263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp119_ = self->priv->demand_transform_job;
#line 263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp119_ == NULL) {
#line 3622 "PhotoPage.c"
		GdkPixbuf* zoomed = NULL;
		ZoomState _tmp120_ = {0};
		GdkPixbuf* _tmp121_ = NULL;
		GdkPixbuf* _tmp122_ = NULL;
		GdkPixbuf* _tmp123_ = NULL;
		GdkPixbuf* _tmp124_ = NULL;
		Photo* _tmp125_ = NULL;
		PixelTransformer* _tmp126_ = NULL;
		PixelTransformer* _tmp127_ = NULL;
		GCancellable* _tmp128_ = NULL;
		GCancellable* _tmp129_ = NULL;
		ZoomBufferTransformationJob* _tmp130_ = NULL;
		ZoomState _tmp131_ = {0};
		Workers* _tmp132_ = NULL;
		ZoomBufferTransformationJob* _tmp133_ = NULL;
		ZoomState _tmp134_ = {0};
		GdkPixbuf* _tmp135_ = NULL;
#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp120_ = *zoom_state;
#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp121_ = self->priv->iso_source_image;
#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp122_ = self->priv->reduced_source_image;
#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp123_ = zoom_buffer_get_view_projection_pixbuf (self, &_tmp120_, _tmp121_, _tmp122_);
#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoomed = _tmp123_;
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp124_ = zoomed;
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp125_ = self->priv->backing_photo;
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp126_ = photo_get_pixel_transformer (_tmp125_);
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp127_ = _tmp126_;
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp128_ = g_cancellable_new ();
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp129_ = _tmp128_;
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp130_ = zoom_buffer_transformation_job_new (self, _tmp124_, _tmp127_, _zoom_buffer_on_demand_transform_complete_completion_callback, self, _tmp129_);
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_background_job_unref0 (self->priv->demand_transform_job);
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->demand_transform_job = _tmp130_;
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp129_);
#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_pixel_transformer_unref0 (_tmp127_);
#line 271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp131_ = *zoom_state;
#line 271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->demand_transform_zoom_state = _tmp131_;
#line 273 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp132_ = self->priv->workers;
#line 273 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp133_ = self->priv->demand_transform_job;
#line 273 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		workers_enqueue (_tmp132_, G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp134_ = *zoom_state;
#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp135_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp134_);
#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = _tmp135_;
#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (zoomed);
#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 3692 "PhotoPage.c"
	}
#line 283 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_critical ("PhotoPage.vala:283: %s", "ZoomBuffer: get_zoomed_image( ): in SOURCE-NOT-TRANSFORMED but can't t" \
"ransform " "on-screen projection on-demand; using preview image");
#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp136_ = *zoom_state;
#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp136_);
#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp137_;
#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 3704 "PhotoPage.c"
}


static void _zoom_buffer_on_iso_source_fetch_complete_completion_callback (BackgroundJob* job, gpointer self) {
#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_buffer_on_iso_source_fetch_complete ((ZoomBuffer*) self, job);
#line 3711 "PhotoPage.c"
}


GdkPixbuf* zoom_buffer_get_zoom_preview_image_internal (ZoomBuffer* self, ZoomState* zoom_state) {
	GdkPixbuf* result = NULL;
	ZoomBufferObjectState _tmp0_ = 0;
	GdkRectangle view_rect = {0};
	GdkRectangle _tmp5_ = {0};
	GdkRectangle view_rect_proj = {0};
	GdkPixbuf* _tmp6_ = NULL;
	GdkRectangle _tmp7_ = {0};
	GdkRectangle _tmp8_ = {0};
	gint _tmp9_ = 0;
	gint _tmp10_ = 0;
	GdkRectangle _tmp11_ = {0};
	gint _tmp12_ = 0;
	gint _tmp13_ = 0;
	GdkPixbuf* proj_subpixbuf = NULL;
	GdkPixbuf* _tmp14_ = NULL;
	GdkRectangle _tmp15_ = {0};
	gint _tmp16_ = 0;
	GdkRectangle _tmp17_ = {0};
	gint _tmp18_ = 0;
	GdkRectangle _tmp19_ = {0};
	gint _tmp20_ = 0;
	GdkRectangle _tmp21_ = {0};
	gint _tmp22_ = 0;
	GdkPixbuf* _tmp23_ = NULL;
	GdkPixbuf* zoomed = NULL;
	GdkRectangle _tmp24_ = {0};
	gint _tmp25_ = 0;
	GdkRectangle _tmp26_ = {0};
	gint _tmp27_ = 0;
	GdkPixbuf* _tmp28_ = NULL;
#line 288 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL);
#line 288 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (zoom_state != NULL, NULL);
#line 289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->object_state;
#line 289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED) {
#line 3754 "PhotoPage.c"
		BackgroundJob* iso_source_fetch_job = NULL;
		Photo* _tmp1_ = NULL;
		ZoomBufferIsoSourceFetchJob* _tmp2_ = NULL;
		Workers* _tmp3_ = NULL;
		BackgroundJob* _tmp4_ = NULL;
#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->backing_photo;
#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = zoom_buffer_iso_source_fetch_job_new (self, _tmp1_, _zoom_buffer_on_iso_source_fetch_complete_completion_callback, self);
#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		iso_source_fetch_job = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_BACKGROUND_JOB, BackgroundJob);
#line 292 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->workers;
#line 292 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = iso_source_fetch_job;
#line 292 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		workers_enqueue (_tmp3_, _tmp4_);
#line 294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS;
#line 289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_background_job_unref0 (iso_source_fetch_job);
#line 3776 "PhotoPage.c"
	}
#line 296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp5_);
#line 296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect = _tmp5_;
#line 297 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->preview_image;
#line 297 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewing_rectangle_projection (zoom_state, _tmp6_, &_tmp7_);
#line 297 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect_proj = _tmp7_;
#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = view_rect_proj;
#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_.width;
#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = CLAMP (_tmp9_, 1, G_MAXINT);
#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect_proj.width = _tmp10_;
#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = view_rect_proj;
#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_.height;
#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = CLAMP (_tmp12_, 1, G_MAXINT);
#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_rect_proj.height = _tmp13_;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = self->priv->preview_image;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = view_rect_proj;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = _tmp15_.x;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = view_rect_proj;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = _tmp17_.y;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = view_rect_proj;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = _tmp19_.width;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = view_rect_proj;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = _tmp21_.height;
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = gdk_pixbuf_new_subpixbuf (_tmp14_, _tmp16_, _tmp18_, _tmp20_, _tmp22_);
#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	proj_subpixbuf = _tmp23_;
#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = view_rect;
#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = _tmp24_.width;
#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = view_rect;
#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = _tmp26_.height;
#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = gdk_pixbuf_scale_simple (proj_subpixbuf, _tmp25_, _tmp27_, GDK_INTERP_BILINEAR);
#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoomed = _tmp28_;
#line 309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = zoomed;
#line 309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (proj_subpixbuf);
#line 309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 3844 "PhotoPage.c"
}


Photo* zoom_buffer_get_backing_photo (ZoomBuffer* self) {
	Photo* result = NULL;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
#line 312 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL);
#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->backing_photo;
#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp1_;
#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 3862 "PhotoPage.c"
}


void zoom_buffer_update_preview_image (ZoomBuffer* self, GdkPixbuf* preview_image) {
	GdkPixbuf* _tmp0_ = NULL;
	GdkPixbuf* _tmp1_ = NULL;
#line 316 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_ZOOM_BUFFER (self));
#line 316 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GDK_IS_PIXBUF (preview_image));
#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = preview_image;
#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->preview_image);
#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->preview_image = _tmp1_;
#line 3881 "PhotoPage.c"
}


void zoom_buffer_flush_demand_cache (ZoomBuffer* self, ZoomState* initial_zoom_state) {
	ZoomState* _tmp0_ = NULL;
#line 322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_ZOOM_BUFFER (self));
#line 323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->demand_transform_cached_pixbuf);
#line 323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->demand_transform_cached_pixbuf = NULL;
#line 324 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = initial_zoom_state;
#line 324 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 3897 "PhotoPage.c"
		ZoomState* _tmp1_ = NULL;
		ZoomState _tmp2_ = {0};
		GdkPixbuf* _tmp3_ = NULL;
		GdkPixbuf* _tmp4_ = NULL;
#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = initial_zoom_state;
#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = *_tmp1_;
#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = zoom_buffer_get_zoomed_image (self, &_tmp2_);
#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 3912 "PhotoPage.c"
	}
}


GdkPixbuf* zoom_buffer_get_zoomed_image (ZoomBuffer* self, ZoomState* zoom_state) {
	GdkPixbuf* result = NULL;
	gdouble _tmp0_ = 0.0;
	ZoomBufferObjectState _tmp3_ = 0;
#line 328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL);
#line 328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (zoom_state != NULL, NULL);
#line 329 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->is_interactive_redraw_in_progress = FALSE;
#line 333 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = zoom_state_get_interpolation_factor (zoom_state);
#line 333 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == 0.0) {
#line 3931 "PhotoPage.c"
		ZoomState _tmp1_ = {0};
		GdkPixbuf* _tmp2_ = NULL;
#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = *zoom_state;
#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp1_);
#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = _tmp2_;
#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 3942 "PhotoPage.c"
	}
#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->object_state;
#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	switch (_tmp3_) {
#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		case ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED:
#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		case ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS:
#line 3952 "PhotoPage.c"
		{
			ZoomState _tmp4_ = {0};
			GdkPixbuf* _tmp5_ = NULL;
#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp4_ = *zoom_state;
#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp5_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp4_);
#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp5_;
#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 3964 "PhotoPage.c"
		}
#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		case ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED:
#line 3968 "PhotoPage.c"
		{
			ZoomState _tmp6_ = {0};
			GdkPixbuf* _tmp7_ = NULL;
#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = *zoom_state;
#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = zoom_buffer_get_zoomed_image_source_not_transformed (self, &_tmp6_);
#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp7_;
#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 3980 "PhotoPage.c"
		}
#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		case ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY:
#line 3984 "PhotoPage.c"
		{
			ZoomState _tmp8_ = {0};
			GdkPixbuf* _tmp9_ = NULL;
			GdkPixbuf* _tmp10_ = NULL;
			GdkPixbuf* _tmp11_ = NULL;
#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = *zoom_state;
#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = self->priv->iso_transformed_image;
#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp10_ = self->priv->reduced_transformed_image;
#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp11_ = zoom_buffer_get_view_projection_pixbuf (self, &_tmp8_, _tmp9_, _tmp10_);
#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp11_;
#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 4002 "PhotoPage.c"
		}
		default:
		{
			ZoomState _tmp12_ = {0};
			GdkPixbuf* _tmp13_ = NULL;
#line 352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			g_critical ("PhotoPage.vala:352: ZoomBuffer: get_zoomed_image( ): object is an inco" \
"nsistent state");
#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp12_ = *zoom_state;
#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp12_);
#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = _tmp13_;
#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 4018 "PhotoPage.c"
		}
	}
}


GdkPixbuf* zoom_buffer_get_zoom_preview_image (ZoomBuffer* self, ZoomState* zoom_state) {
	GdkPixbuf* result = NULL;
	ZoomState _tmp0_ = {0};
	GdkPixbuf* _tmp1_ = NULL;
#line 357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL);
#line 357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (zoom_state != NULL, NULL);
#line 358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->is_interactive_redraw_in_progress = TRUE;
#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = *zoom_state;
#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp0_);
#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp1_;
#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 4042 "PhotoPage.c"
}


static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_construct (GType object_type, ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target) {
	ZoomBufferIsoSourceFetchJob* self = NULL;
	ZoomBuffer* _tmp0_ = NULL;
	CompletionCallback _tmp1_ = NULL;
	void* _tmp1__target = NULL;
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (owner), NULL);
#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (to_fetch), NULL);
#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = owner;
#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = completion_callback;
#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1__target = completion_callback_target;
#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (ZoomBufferIsoSourceFetchJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, NULL, NULL, NULL, NULL);
#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = to_fetch;
#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->to_fetch);
#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->to_fetch = _tmp3_;
#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 4075 "PhotoPage.c"
}


static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_new (ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target) {
#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return zoom_buffer_iso_source_fetch_job_construct (ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, owner, to_fetch, completion_callback, completion_callback_target);
#line 4082 "PhotoPage.c"
}


static void zoom_buffer_iso_source_fetch_job_real_execute (BackgroundJob* base) {
	ZoomBufferIsoSourceFetchJob * self;
	GError * _inner_error_ = NULL;
#line 27 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob);
#line 4091 "PhotoPage.c"
	{
		GdkPixbuf* _tmp0_ = NULL;
		Photo* _tmp1_ = NULL;
		Scaling _tmp2_ = {0};
		GdkPixbuf* _tmp3_ = NULL;
		GdkPixbuf* _tmp4_ = NULL;
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->to_fetch;
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		scaling_for_original (&_tmp2_);
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = photo_get_pixbuf_with_options (_tmp1_, &_tmp2_, PHOTO_EXCEPTION_ADJUST, BACKING_FETCH_MODE_BASELINE, &_inner_error_);
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp3_;
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 4108 "PhotoPage.c"
			goto __catch230_g_error;
		}
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp0_;
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = NULL;
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (self->fetched);
#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->fetched = _tmp4_;
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp0_);
#line 4121 "PhotoPage.c"
	}
	goto __finally230;
	__catch230_g_error:
	{
		GError* fetch_error = NULL;
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		fetch_error = _inner_error_;
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 32 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_critical ("PhotoPage.vala:32: IsoSourceFetchJob: execute( ): can't get pixbuf fro" \
"m backing photo");
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (fetch_error);
#line 4135 "PhotoPage.c"
	}
	__finally230:
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.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 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 4146 "PhotoPage.c"
	}
}


static void zoom_buffer_iso_source_fetch_job_class_init (ZoomBufferIsoSourceFetchJobClass * klass) {
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_buffer_iso_source_fetch_job_parent_class = g_type_class_peek_parent (klass);
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((BackgroundJobClass *) klass)->finalize = zoom_buffer_iso_source_fetch_job_finalize;
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_type_class_add_private (klass, sizeof (ZoomBufferIsoSourceFetchJobPrivate));
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((BackgroundJobClass *) klass)->execute = zoom_buffer_iso_source_fetch_job_real_execute;
#line 4160 "PhotoPage.c"
}


static void zoom_buffer_iso_source_fetch_job_instance_init (ZoomBufferIsoSourceFetchJob * self) {
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv = ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_GET_PRIVATE (self);
#line 18 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->fetched = NULL;
#line 4169 "PhotoPage.c"
}


static void zoom_buffer_iso_source_fetch_job_finalize (BackgroundJob* obj) {
	ZoomBufferIsoSourceFetchJob * self;
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob);
#line 16 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->to_fetch);
#line 18 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->fetched);
#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	BACKGROUND_JOB_CLASS (zoom_buffer_iso_source_fetch_job_parent_class)->finalize (obj);
#line 4183 "PhotoPage.c"
}


static GType zoom_buffer_iso_source_fetch_job_get_type (void) {
	static volatile gsize zoom_buffer_iso_source_fetch_job_type_id__volatile = 0;
	if (g_once_init_enter (&zoom_buffer_iso_source_fetch_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ZoomBufferIsoSourceFetchJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) zoom_buffer_iso_source_fetch_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ZoomBufferIsoSourceFetchJob), 0, (GInstanceInitFunc) zoom_buffer_iso_source_fetch_job_instance_init, NULL };
		GType zoom_buffer_iso_source_fetch_job_type_id;
		zoom_buffer_iso_source_fetch_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "ZoomBufferIsoSourceFetchJob", &g_define_type_info, 0);
		g_once_init_leave (&zoom_buffer_iso_source_fetch_job_type_id__volatile, zoom_buffer_iso_source_fetch_job_type_id);
	}
	return zoom_buffer_iso_source_fetch_job_type_id__volatile;
}


static gpointer _pixel_transformer_ref0 (gpointer self) {
#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self ? pixel_transformer_ref (self) : NULL;
#line 4202 "PhotoPage.c"
}


static ZoomBufferTransformationJob* zoom_buffer_transformation_job_construct (GType object_type, ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable) {
	ZoomBufferTransformationJob* self = NULL;
	ZoomBuffer* _tmp0_ = NULL;
	CompletionCallback _tmp1_ = NULL;
	void* _tmp1__target = NULL;
	GCancellable* _tmp2_ = NULL;
	GCancellable* _tmp3_ = NULL;
	GCancellable* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
	PixelTransformer* _tmp7_ = NULL;
	PixelTransformer* _tmp8_ = NULL;
	GdkPixbuf* _tmp9_ = NULL;
	GdkPixbuf* _tmp10_ = NULL;
#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_ZOOM_BUFFER (owner), NULL);
#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (GDK_IS_PIXBUF (to_transform), NULL);
#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail ((transformer == NULL) || IS_PIXEL_TRANSFORMER (transformer), NULL);
#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = owner;
#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = completion_callback;
#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1__target = completion_callback_target;
#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = cancellable;
#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (ZoomBufferTransformationJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp2_, NULL, NULL, NULL);
#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = cancellable;
#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->cancellable = _tmp4_;
#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = to_transform;
#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->to_transform);
#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->to_transform = _tmp6_;
#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = transformer;
#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _pixel_transformer_ref0 (_tmp7_);
#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_pixel_transformer_unref0 (self->priv->transformer);
#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->transformer = _tmp8_;
#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = to_transform;
#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = gdk_pixbuf_copy (_tmp9_);
#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->transformed);
#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->transformed = _tmp10_;
#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 4272 "PhotoPage.c"
}


static ZoomBufferTransformationJob* zoom_buffer_transformation_job_new (ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable) {
#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return zoom_buffer_transformation_job_construct (ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, owner, to_transform, transformer, completion_callback, completion_callback_target, cancellable);
#line 4279 "PhotoPage.c"
}


static void zoom_buffer_transformation_job_real_execute (BackgroundJob* base) {
	ZoomBufferTransformationJob * self;
	PixelTransformer* _tmp0_ = NULL;
#line 59 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob);
#line 60 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->transformer;
#line 60 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 4292 "PhotoPage.c"
		PixelTransformer* _tmp1_ = NULL;
		GdkPixbuf* _tmp2_ = NULL;
		GdkPixbuf* _tmp3_ = NULL;
		GCancellable* _tmp4_ = NULL;
#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->transformer;
#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = self->priv->to_transform;
#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->transformed;
#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = self->priv->cancellable;
#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixel_transformer_transform_to_other_pixbuf (_tmp1_, _tmp2_, _tmp3_, _tmp4_);
#line 4307 "PhotoPage.c"
	}
}


static void zoom_buffer_transformation_job_class_init (ZoomBufferTransformationJobClass * klass) {
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_buffer_transformation_job_parent_class = g_type_class_peek_parent (klass);
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((BackgroundJobClass *) klass)->finalize = zoom_buffer_transformation_job_finalize;
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_type_class_add_private (klass, sizeof (ZoomBufferTransformationJobPrivate));
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((BackgroundJobClass *) klass)->execute = zoom_buffer_transformation_job_real_execute;
#line 4321 "PhotoPage.c"
}


static void zoom_buffer_transformation_job_instance_init (ZoomBufferTransformationJob * self) {
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv = ZOOM_BUFFER_TRANSFORMATION_JOB_GET_PRIVATE (self);
#line 47 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->transformed = NULL;
#line 4330 "PhotoPage.c"
}


static void zoom_buffer_transformation_job_finalize (BackgroundJob* obj) {
	ZoomBufferTransformationJob * self;
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob);
#line 43 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->to_transform);
#line 44 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_pixel_transformer_unref0 (self->priv->transformer);
#line 45 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 47 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->transformed);
#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	BACKGROUND_JOB_CLASS (zoom_buffer_transformation_job_parent_class)->finalize (obj);
#line 4348 "PhotoPage.c"
}


static GType zoom_buffer_transformation_job_get_type (void) {
	static volatile gsize zoom_buffer_transformation_job_type_id__volatile = 0;
	if (g_once_init_enter (&zoom_buffer_transformation_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ZoomBufferTransformationJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) zoom_buffer_transformation_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ZoomBufferTransformationJob), 0, (GInstanceInitFunc) zoom_buffer_transformation_job_instance_init, NULL };
		GType zoom_buffer_transformation_job_type_id;
		zoom_buffer_transformation_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "ZoomBufferTransformationJob", &g_define_type_info, 0);
		g_once_init_leave (&zoom_buffer_transformation_job_type_id__volatile, zoom_buffer_transformation_job_type_id);
	}
	return zoom_buffer_transformation_job_type_id__volatile;
}


static void zoom_buffer_class_init (ZoomBufferClass * klass) {
#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_buffer_parent_class = g_type_class_peek_parent (klass);
#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_type_class_add_private (klass, sizeof (ZoomBufferPrivate));
#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	G_OBJECT_CLASS (klass)->finalize = zoom_buffer_finalize;
#line 4371 "PhotoPage.c"
}


static void zoom_buffer_instance_init (ZoomBuffer * self) {
#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv = ZOOM_BUFFER_GET_PRIVATE (self);
#line 69 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->iso_source_image = NULL;
#line 70 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->reduced_source_image = NULL;
#line 71 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->iso_transformed_image = NULL;
#line 72 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->reduced_transformed_image = NULL;
#line 73 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->preview_image = NULL;
#line 74 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->backing_photo = NULL;
#line 75 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED;
#line 76 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->demand_transform_cached_pixbuf = NULL;
#line 78 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->demand_transform_job = NULL;
#line 80 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->workers = NULL;
#line 82 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->is_interactive_redraw_in_progress = FALSE;
#line 4400 "PhotoPage.c"
}


static void zoom_buffer_finalize (GObject* obj) {
	ZoomBuffer * self;
#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ZOOM_BUFFER, ZoomBuffer);
#line 69 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->iso_source_image);
#line 70 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->reduced_source_image);
#line 71 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->iso_transformed_image);
#line 72 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->reduced_transformed_image);
#line 73 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->preview_image);
#line 74 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->backing_photo);
#line 76 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->demand_transform_cached_pixbuf);
#line 78 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_background_job_unref0 (self->priv->demand_transform_job);
#line 80 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_workers_unref0 (self->priv->workers);
#line 81 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->parent_page);
#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	G_OBJECT_CLASS (zoom_buffer_parent_class)->finalize (obj);
#line 4430 "PhotoPage.c"
}


GType zoom_buffer_get_type (void) {
	static volatile gsize zoom_buffer_type_id__volatile = 0;
	if (g_once_init_enter (&zoom_buffer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ZoomBufferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) zoom_buffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ZoomBuffer), 0, (GInstanceInitFunc) zoom_buffer_instance_init, NULL };
		GType zoom_buffer_type_id;
		zoom_buffer_type_id = g_type_register_static (G_TYPE_OBJECT, "ZoomBuffer", &g_define_type_info, 0);
		g_once_init_leave (&zoom_buffer_type_id__volatile, zoom_buffer_type_id);
	}
	return zoom_buffer_type_id__volatile;
}


static void _editing_host_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_photos_altered ((EditingHostPage*) self, items);
#line 4449 "PhotoPage.c"
}


static void _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) {
#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_view_contents_ordering_altered ((EditingHostPage*) self);
#line 4456 "PhotoPage.c"
}


static void _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed (DataCollection* _sender, gpointer self) {
#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_view_contents_ordering_altered ((EditingHostPage*) self);
#line 4463 "PhotoPage.c"
}


static gpointer _data_collection_ref0 (gpointer self) {
#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self ? data_collection_ref (self) : NULL;
#line 4470 "PhotoPage.c"
}


static void _editing_host_page_on_viewport_resized_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self) {
#line 431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_viewport_resized ((EditingHostPage*) self);
#line 4477 "PhotoPage.c"
}


static void _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
#line 441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_rotate_clockwise ((EditingHostPage*) self);
#line 4484 "PhotoPage.c"
}


static void _editing_host_page_on_crop_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) {
#line 449 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_crop_toggled ((EditingHostPage*) self);
#line 4491 "PhotoPage.c"
}


static void _editing_host_page_on_straighten_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) {
#line 457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_straighten_toggled ((EditingHostPage*) self);
#line 4498 "PhotoPage.c"
}


static void _editing_host_page_on_redeye_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) {
#line 465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_redeye_toggled ((EditingHostPage*) self);
#line 4505 "PhotoPage.c"
}


static void _editing_host_page_on_adjust_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) {
#line 474 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_adjust_toggled ((EditingHostPage*) self);
#line 4512 "PhotoPage.c"
}


static void _editing_host_page_on_enhance_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
#line 482 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_enhance ((EditingHostPage*) self);
#line 4519 "PhotoPage.c"
}


static gboolean _editing_host_page_on_zoom_out_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
	gboolean result;
	result = editing_host_page_on_zoom_out_pressed ((EditingHostPage*) self, event);
#line 501 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 4528 "PhotoPage.c"
}


static void _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self) {
#line 509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_zoom_slider_value_changed ((EditingHostPage*) self);
#line 4535 "PhotoPage.c"
}


static gboolean _editing_host_page_on_zoom_slider_drag_begin_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
	gboolean result;
	result = editing_host_page_on_zoom_slider_drag_begin ((EditingHostPage*) self, event);
#line 510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 4544 "PhotoPage.c"
}


static gboolean _editing_host_page_on_zoom_slider_drag_end_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
	gboolean result;
	result = editing_host_page_on_zoom_slider_drag_end ((EditingHostPage*) self, event);
#line 511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 4553 "PhotoPage.c"
}


static gboolean _editing_host_page_on_zoom_slider_key_press_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
	gboolean result;
	result = editing_host_page_on_zoom_slider_key_press ((EditingHostPage*) self, event);
#line 512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 4562 "PhotoPage.c"
}


static gboolean _editing_host_page_on_zoom_in_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
	gboolean result;
	result = editing_host_page_on_zoom_in_pressed ((EditingHostPage*) self, event);
#line 523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 4571 "PhotoPage.c"
}


static void _single_photo_page_on_previous_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
#line 535 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_on_previous_photo ((SinglePhotoPage*) self);
#line 4578 "PhotoPage.c"
}


static void _single_photo_page_on_next_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
#line 541 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_on_next_photo ((SinglePhotoPage*) self);
#line 4585 "PhotoPage.c"
}


EditingHostPage* editing_host_page_construct (GType object_type, SourceCollection* sources, const gchar* name) {
	EditingHostPage * self = NULL;
	const gchar* _tmp0_ = NULL;
	SourceCollection* _tmp1_ = NULL;
	SourceCollection* _tmp2_ = NULL;
	SourceCollection* _tmp3_ = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	ViewCollection* _tmp7_ = NULL;
	GtkViewport* _tmp8_ = NULL;
	GtkToolbar* toolbar = NULL;
	GtkToolbar* _tmp9_ = NULL;
	GtkToolButton* _tmp10_ = NULL;
	GtkToolButton* _tmp11_ = NULL;
	GtkToolButton* _tmp12_ = NULL;
	GtkToolButton* _tmp13_ = NULL;
	GtkToolButton* _tmp14_ = NULL;
	GtkToolButton* _tmp15_ = NULL;
	GtkToolButton* _tmp16_ = NULL;
	GtkToggleToolButton* _tmp17_ = NULL;
	GtkToggleToolButton* _tmp18_ = NULL;
	GtkToggleToolButton* _tmp19_ = NULL;
	GtkToggleToolButton* _tmp20_ = NULL;
	GtkToggleToolButton* _tmp21_ = NULL;
	GtkToggleToolButton* _tmp22_ = NULL;
	GtkToggleToolButton* _tmp23_ = NULL;
	GtkToggleToolButton* _tmp24_ = NULL;
	GtkToggleToolButton* _tmp25_ = NULL;
	GtkToggleToolButton* _tmp26_ = NULL;
	GtkToggleToolButton* _tmp27_ = NULL;
	GtkToggleToolButton* _tmp28_ = NULL;
	GtkToggleToolButton* _tmp29_ = NULL;
	GtkToggleToolButton* _tmp30_ = NULL;
	GtkToggleToolButton* _tmp31_ = NULL;
	GtkToggleToolButton* _tmp32_ = NULL;
	GtkToggleToolButton* _tmp33_ = NULL;
	GtkToggleToolButton* _tmp34_ = NULL;
	GtkToggleToolButton* _tmp35_ = NULL;
	GtkToggleToolButton* _tmp36_ = NULL;
	GtkToggleToolButton* _tmp37_ = NULL;
	GtkToggleToolButton* _tmp38_ = NULL;
	GtkToggleToolButton* _tmp39_ = NULL;
	GtkToggleToolButton* _tmp40_ = NULL;
	GtkToggleToolButton* _tmp41_ = NULL;
	GtkToolButton* _tmp42_ = NULL;
	GtkToolButton* _tmp43_ = NULL;
	GtkToolButton* _tmp44_ = NULL;
	GtkToolButton* _tmp45_ = NULL;
	GtkToolButton* _tmp46_ = NULL;
	GtkToolButton* _tmp47_ = NULL;
	GtkSeparatorToolItem* separator = NULL;
	GtkSeparatorToolItem* _tmp48_ = NULL;
	GtkBox* zoom_group = NULL;
	GtkBox* _tmp49_ = NULL;
	GtkImage* zoom_out = NULL;
	GdkPixbuf* _tmp50_ = NULL;
	GdkPixbuf* _tmp51_ = NULL;
	GtkImage* _tmp52_ = NULL;
	GtkImage* _tmp53_ = NULL;
	GtkEventBox* zoom_out_box = NULL;
	GtkEventBox* _tmp54_ = NULL;
	GtkAdjustment* _tmp55_ = NULL;
	GtkAdjustment* _tmp56_ = NULL;
	GtkScale* _tmp57_ = NULL;
	GtkScale* _tmp58_ = NULL;
	GtkScale* _tmp59_ = NULL;
	GtkScale* _tmp60_ = NULL;
	GtkScale* _tmp61_ = NULL;
	GtkScale* _tmp62_ = NULL;
	GtkScale* _tmp63_ = NULL;
	GtkScale* _tmp64_ = NULL;
	GtkImage* zoom_in = NULL;
	GdkPixbuf* _tmp65_ = NULL;
	GdkPixbuf* _tmp66_ = NULL;
	GtkImage* _tmp67_ = NULL;
	GtkImage* _tmp68_ = NULL;
	GtkEventBox* zoom_in_box = NULL;
	GtkEventBox* _tmp69_ = NULL;
	GtkToolItem* group_wrapper = NULL;
	GtkToolItem* _tmp70_ = NULL;
	GtkToolButton* _tmp71_ = NULL;
	const gchar* _tmp72_ = NULL;
	GtkToolButton* _tmp73_ = NULL;
	GtkToolButton* _tmp74_ = NULL;
	GtkToolButton* _tmp75_ = NULL;
	GtkToolButton* _tmp76_ = NULL;
	const gchar* _tmp77_ = NULL;
	GtkToolButton* _tmp78_ = NULL;
	GtkToolButton* _tmp79_ = NULL;
	GtkToolButton* _tmp80_ = NULL;
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 418 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = name;
#line 418 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (EditingHostPage*) single_photo_page_construct (object_type, _tmp0_, FALSE);
#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = sources;
#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _data_collection_ref0 (_tmp1_);
#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (self->priv->sources);
#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->sources = _tmp2_;
#line 423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = sources;
#line 423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _editing_host_page_on_photos_altered_data_collection_items_altered, self, 0);
#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered, self, 0);
#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), "ordering-changed", (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed, self, 0);
#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp7_);
#line 431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->viewport;
#line 431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), "size-allocate", (GCallback) _editing_host_page_on_viewport_resized_gtk_widget_size_allocate, self, 0);
#line 434 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 434 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	toolbar = _tmp9_;
#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = (GtkToolButton*) gtk_tool_button_new_from_stock ("");
#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp10_);
#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->rotate_button);
#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->rotate_button = _tmp10_;
#line 438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = self->priv->rotate_button;
#line 438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (_tmp11_, RESOURCES_CLOCKWISE);
#line 439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = self->priv->rotate_button;
#line 439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (_tmp12_, RESOURCES_ROTATE_CW_LABEL);
#line 440 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = self->priv->rotate_button;
#line 440 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CW_TOOLTIP);
#line 441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = self->priv->rotate_button;
#line 441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp14_, "clicked", (GCallback) _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked, self, 0);
#line 442 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = self->priv->rotate_button;
#line 442 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = self->priv->rotate_button;
#line 443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new_from_stock (RESOURCES_CROP);
#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp17_);
#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->crop_button);
#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->crop_button = _tmp17_;
#line 447 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = self->priv->crop_button;
#line 447 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_CROP_LABEL);
#line 448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = self->priv->crop_button;
#line 448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_CROP_TOOLTIP);
#line 449 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = self->priv->crop_button;
#line 449 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp20_, "toggled", (GCallback) _editing_host_page_on_crop_toggled_gtk_toggle_tool_button_toggled, self, 0);
#line 450 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = self->priv->crop_button;
#line 450 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = self->priv->crop_button;
#line 451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new_from_stock (RESOURCES_STRAIGHTEN);
#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp23_);
#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->straighten_button);
#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->straighten_button = _tmp23_;
#line 455 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = self->priv->straighten_button;
#line 455 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_STRAIGHTEN_LABEL);
#line 456 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = self->priv->straighten_button;
#line 456 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_STRAIGHTEN_TOOLTIP);
#line 457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = self->priv->straighten_button;
#line 457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp26_, "toggled", (GCallback) _editing_host_page_on_straighten_toggled_gtk_toggle_tool_button_toggled, self, 0);
#line 458 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = self->priv->straighten_button;
#line 458 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = self->priv->straighten_button;
#line 459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new_from_stock (RESOURCES_REDEYE);
#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp29_);
#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->redeye_button);
#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->redeye_button = _tmp29_;
#line 463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = self->priv->redeye_button;
#line 463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_RED_EYE_LABEL);
#line 464 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = self->priv->redeye_button;
#line 464 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_RED_EYE_TOOLTIP);
#line 465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp32_ = self->priv->redeye_button;
#line 465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp32_, "toggled", (GCallback) _editing_host_page_on_redeye_toggled_gtk_toggle_tool_button_toggled, self, 0);
#line 466 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33_ = self->priv->redeye_button;
#line 466 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 467 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp34_ = self->priv->redeye_button;
#line 467 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new ();
#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp35_);
#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->adjust_button);
#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->adjust_button = _tmp35_;
#line 471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp36_ = self->priv->adjust_button;
#line 471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_ADJUST);
#line 472 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp37_ = self->priv->adjust_button;
#line 472 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_ADJUST_LABEL);
#line 473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_ = self->priv->adjust_button;
#line 473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ADJUST_TOOLTIP);
#line 474 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp39_ = self->priv->adjust_button;
#line 474 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp39_, "toggled", (GCallback) _editing_host_page_on_adjust_toggled_gtk_toggle_tool_button_toggled, self, 0);
#line 475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp40_ = self->priv->adjust_button;
#line 475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 476 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_ = self->priv->adjust_button;
#line 476 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp42_ = (GtkToolButton*) gtk_tool_button_new (NULL, RESOURCES_ENHANCE_LABEL);
#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp42_);
#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->enhance_button);
#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->enhance_button = _tmp42_;
#line 480 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp43_ = self->priv->enhance_button;
#line 480 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (_tmp43_, RESOURCES_ENHANCE);
#line 481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_ = self->priv->enhance_button;
#line 481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ENHANCE_TOOLTIP);
#line 482 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp45_ = self->priv->enhance_button;
#line 482 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp45_, "clicked", (GCallback) _editing_host_page_on_enhance_gtk_tool_button_clicked, self, 0);
#line 483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp46_ = self->priv->enhance_button;
#line 483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 484 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_ = self->priv->enhance_button;
#line 484 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp48_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp48_);
#line 487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	separator = _tmp48_;
#line 488 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (separator, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_separator_tool_item_set_draw (separator, FALSE);
#line 490 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (separator, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 492 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp49_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#line 492 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp49_);
#line 492 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_group = _tmp49_;
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_ = resources_load_icon (RESOURCES_ICON_ZOOM_OUT, RESOURCES_ICON_ZOOM_SCALE);
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp51_ = _tmp50_;
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp52_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp51_);
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp52_);
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_ = _tmp52_;
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp51_);
#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_out = _tmp53_;
#line 496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp54_ = (GtkEventBox*) gtk_event_box_new ();
#line 496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp54_);
#line 496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_out_box = _tmp54_;
#line 497 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_event_box_set_above_child (zoom_out_box, TRUE);
#line 498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_event_box_set_visible_window (zoom_out_box, FALSE);
#line 499 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_out, gtk_widget_get_type (), GtkWidget));
#line 501 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_host_page_on_zoom_out_pressed_gtk_widget_button_press_event, self, 0);
#line 503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp55_ = gtk_adjustment_new (0.0, 0.0, 1.1, 0.1, 0.1, 0.1);
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp55_);
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_ = _tmp55_;
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp57_ = (GtkScale*) gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, _tmp56_);
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp57_);
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->zoom_slider);
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->zoom_slider = _tmp57_;
#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp56_);
#line 507 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp58_ = self->priv->zoom_slider;
#line 507 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_scale_set_draw_value (_tmp58_, FALSE);
#line 508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_ = self->priv->zoom_slider;
#line 508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_widget_get_type (), GtkWidget), 120, -1);
#line 509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp60_ = self->priv->zoom_slider;
#line 509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0);
#line 510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp61_ = self->priv->zoom_slider;
#line 510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_host_page_on_zoom_slider_drag_begin_gtk_widget_button_press_event, self, 0);
#line 511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_ = self->priv->zoom_slider;
#line 511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_widget_get_type (), GtkWidget), "button-release-event", (GCallback) _editing_host_page_on_zoom_slider_drag_end_gtk_widget_button_release_event, self, 0);
#line 512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp63_ = self->priv->zoom_slider;
#line 512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _editing_host_page_on_zoom_slider_key_press_gtk_widget_key_press_event, self, 0);
#line 514 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp64_ = self->priv->zoom_slider;
#line 514 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_ = resources_load_icon (RESOURCES_ICON_ZOOM_IN, RESOURCES_ICON_ZOOM_SCALE);
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp66_ = _tmp65_;
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp67_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp66_);
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp67_);
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_ = _tmp67_;
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp66_);
#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_in = _tmp68_;
#line 518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp69_ = (GtkEventBox*) gtk_event_box_new ();
#line 518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp69_);
#line 518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_in_box = _tmp69_;
#line 519 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_event_box_set_above_child (zoom_in_box, TRUE);
#line 520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_event_box_set_visible_window (zoom_in_box, FALSE);
#line 521 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_in, gtk_widget_get_type (), GtkWidget));
#line 523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_host_page_on_zoom_in_pressed_gtk_widget_button_press_event, self, 0);
#line 525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 527 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp70_ = gtk_tool_item_new ();
#line 527 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp70_);
#line 527 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	group_wrapper = _tmp70_;
#line 528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (group_wrapper, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_group, gtk_widget_get_type (), GtkWidget));
#line 530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, group_wrapper, -1);
#line 533 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_ = self->priv->prev_button;
#line 533 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp72_ = _ ("Previous photo");
#line 533 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_tool_item_get_type (), GtkToolItem), _tmp72_);
#line 534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp73_ = self->priv->prev_button;
#line 534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (_tmp73_, "go-previous");
#line 535 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_ = self->priv->prev_button;
#line 535 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp74_, "clicked", (GCallback) _single_photo_page_on_previous_photo_gtk_tool_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), 0);
#line 536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp75_ = self->priv->prev_button;
#line 536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 539 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp76_ = self->priv->next_button;
#line 539 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_ = _ ("Next photo");
#line 539 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_tool_item_get_type (), GtkToolItem), _tmp77_);
#line 540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp78_ = self->priv->next_button;
#line 540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (_tmp78_, "go-next");
#line 541 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp79_ = self->priv->next_button;
#line 541 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp79_, "clicked", (GCallback) _single_photo_page_on_next_photo_gtk_tool_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), 0);
#line 542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_ = self->priv->next_button;
#line 542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (group_wrapper);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (zoom_in_box);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (zoom_in);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (zoom_out_box);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (zoom_out);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (zoom_group);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (separator);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (toolbar);
#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 5086 "PhotoPage.c"
}


static void editing_host_page_on_zoom_slider_value_changed (EditingHostPage* self) {
	ZoomState new_zoom_state = {0};
	ZoomState _tmp0_ = {0};
	GtkScale* _tmp1_ = NULL;
	gdouble _tmp2_ = 0.0;
	gboolean _tmp3_ = FALSE;
#line 552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_);
#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->zoom_slider;
#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange));
#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_init_rescale (&new_zoom_state, &_tmp0_, _tmp2_);
#line 555 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->enable_interactive_zoom_refresh;
#line 555 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_) {
#line 5110 "PhotoPage.c"
		ZoomState _tmp4_ = {0};
		gboolean _tmp5_ = FALSE;
#line 556 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = new_zoom_state;
#line 556 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_on_interactive_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp4_);
#line 558 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = zoom_state_is_default (&new_zoom_state);
#line 558 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp5_) {
#line 5121 "PhotoPage.c"
			ZoomState _tmp6_ = {0};
#line 559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = new_zoom_state;
#line 559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp6_);
#line 5127 "PhotoPage.c"
		}
	} else {
		gboolean _tmp7_ = FALSE;
#line 561 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = zoom_state_is_default (&new_zoom_state);
#line 561 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp7_) {
#line 562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 5137 "PhotoPage.c"
		} else {
			ZoomState _tmp8_ = {0};
#line 564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = new_zoom_state;
#line 564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_);
#line 5144 "PhotoPage.c"
		}
#line 566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 5148 "PhotoPage.c"
	}
#line 569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_cursor_for_zoom_context (self);
#line 5152 "PhotoPage.c"
}


static gboolean editing_host_page_on_zoom_slider_drag_begin (EditingHostPage* self, GdkEventButton* event) {
	gboolean result = FALSE;
	GtkWindow* _tmp0_ = NULL;
	GtkWindow* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 573 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->enable_interactive_zoom_refresh = TRUE;
#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW);
#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 5177 "PhotoPage.c"
		GtkWindow* _tmp3_ = NULL;
		FullscreenWindow* _tmp4_ = NULL;
#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_FULLSCREEN_WINDOW, FullscreenWindow);
#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		fullscreen_window_disable_toolbar_dismissal (_tmp4_);
#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 5188 "PhotoPage.c"
	}
#line 578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5194 "PhotoPage.c"
}


static gboolean editing_host_page_on_zoom_slider_drag_end (EditingHostPage* self, GdkEventButton* event) {
	gboolean result = FALSE;
	GtkWindow* _tmp0_ = NULL;
	GtkWindow* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	ZoomState zoom_state = {0};
	ZoomState _tmp5_ = {0};
	GtkScale* _tmp6_ = NULL;
	gdouble _tmp7_ = 0.0;
	ZoomState _tmp8_ = {0};
#line 581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->enable_interactive_zoom_refresh = FALSE;
#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW);
#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 5224 "PhotoPage.c"
		GtkWindow* _tmp3_ = NULL;
		FullscreenWindow* _tmp4_ = NULL;
#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_FULLSCREEN_WINDOW, FullscreenWindow);
#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		fullscreen_window_update_toolbar_dismissal (_tmp4_);
#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 5235 "PhotoPage.c"
	}
#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_);
#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->zoom_slider;
#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_range_get_type (), GtkRange));
#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_init_rescale (&zoom_state, &_tmp5_, _tmp7_);
#line 588 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = zoom_state;
#line 588 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_);
#line 590 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 592 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 592 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5255 "PhotoPage.c"
}


static gboolean editing_host_page_on_zoom_out_pressed (EditingHostPage* self, GdkEventButton* event) {
	gboolean result = FALSE;
#line 595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_snap_zoom_to_min (self);
#line 597 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 597 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5271 "PhotoPage.c"
}


static gboolean editing_host_page_on_zoom_in_pressed (EditingHostPage* self, GdkEventButton* event) {
	gboolean result = FALSE;
#line 600 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 600 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_snap_zoom_to_max (self);
#line 602 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 602 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5287 "PhotoPage.c"
}


static void editing_host_page_get_cursor_wrt_viewport (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result) {
	GdkPoint cursor_wrt_canvas = {0};
	GdkPoint _tmp0_ = {0};
	GdkEventScroll* _tmp1_ = NULL;
	gdouble _tmp2_ = 0.0;
	GdkEventScroll* _tmp3_ = NULL;
	gdouble _tmp4_ = 0.0;
	GdkRectangle viewport_wrt_canvas = {0};
	ZoomState _tmp5_ = {0};
	GdkRectangle _tmp6_ = {0};
	GdkPoint _result_ = {0};
	GdkPoint _tmp7_ = {0};
	GdkPoint _tmp8_ = {0};
	gint _tmp9_ = 0;
	GdkRectangle _tmp10_ = {0};
	gint _tmp11_ = 0;
	GdkPoint _tmp12_ = {0};
	gint _tmp13_ = 0;
	GdkRectangle _tmp14_ = {0};
	gint _tmp15_ = 0;
	gint _tmp16_ = 0;
	GdkPoint _tmp17_ = {0};
	gint _tmp18_ = 0;
	GdkRectangle _tmp19_ = {0};
	gint _tmp20_ = 0;
	GdkPoint _tmp21_ = {0};
	gint _tmp22_ = 0;
	GdkRectangle _tmp23_ = {0};
	gint _tmp24_ = 0;
	gint _tmp25_ = 0;
#line 605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (event != NULL);
#line 606 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_.x = 0;
#line 606 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	cursor_wrt_canvas = _tmp0_;
#line 607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = event;
#line 607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_->x;
#line 607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	cursor_wrt_canvas.x = (gint) _tmp2_;
#line 608 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = event;
#line 608 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_->y;
#line 608 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	cursor_wrt_canvas.y = (gint) _tmp4_;
#line 610 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_);
#line 610 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewing_rectangle_wrt_screen (&_tmp5_, &_tmp6_);
#line 610 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_wrt_canvas = _tmp6_;
#line 611 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_.x = 0;
#line 611 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_result_ = _tmp7_;
#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = cursor_wrt_canvas;
#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_.x;
#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = viewport_wrt_canvas;
#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = _tmp10_.x;
#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_result_.x = _tmp9_ - _tmp11_;
#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _result_;
#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = _tmp12_.x;
#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = viewport_wrt_canvas;
#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = _tmp14_.width;
#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = CLAMP (_tmp13_, 0, _tmp15_);
#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_result_.x = _tmp16_;
#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = cursor_wrt_canvas;
#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = _tmp17_.y;
#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = viewport_wrt_canvas;
#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = _tmp19_.y;
#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_result_.y = _tmp18_ - _tmp20_;
#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = _result_;
#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = _tmp21_.y;
#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = viewport_wrt_canvas;
#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = _tmp23_.height;
#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = CLAMP (_tmp22_, 0, _tmp24_);
#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_result_.y = _tmp25_;
#line 617 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	*result = _result_;
#line 617 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return;
#line 5399 "PhotoPage.c"
}


static void editing_host_page_get_cursor_wrt_viewport_center (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result) {
	GdkPoint cursor_wrt_viewport = {0};
	GdkEventScroll* _tmp0_ = NULL;
	GdkPoint _tmp1_ = {0};
	GdkRectangle viewport_wrt_canvas = {0};
	ZoomState _tmp2_ = {0};
	GdkRectangle _tmp3_ = {0};
	GdkPoint viewport_center = {0};
	GdkPoint _tmp4_ = {0};
	GdkRectangle _tmp5_ = {0};
	gint _tmp6_ = 0;
	GdkRectangle _tmp7_ = {0};
	gint _tmp8_ = 0;
	GdkPoint _tmp9_ = {0};
	GdkPoint _tmp10_ = {0};
	GdkPoint _tmp11_ = {0};
#line 620 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 620 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (event != NULL);
#line 621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = event;
#line 621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_get_cursor_wrt_viewport (self, _tmp0_, &_tmp1_);
#line 621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	cursor_wrt_viewport = _tmp1_;
#line 622 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp2_);
#line 622 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewing_rectangle_wrt_screen (&_tmp2_, &_tmp3_);
#line 622 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_wrt_canvas = _tmp3_;
#line 624 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_.x = 0;
#line 624 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_center = _tmp4_;
#line 625 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = viewport_wrt_canvas;
#line 625 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_.width;
#line 625 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_center.x = _tmp6_ / 2;
#line 626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = viewport_wrt_canvas;
#line 626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_.height;
#line 626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_center.y = _tmp8_ / 2;
#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = cursor_wrt_viewport;
#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = viewport_center;
#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	subtract_points (&_tmp9_, &_tmp10_, &_tmp11_);
#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	*result = _tmp11_;
#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return;
#line 5461 "PhotoPage.c"
}


static void editing_host_page_get_iso_pixel_under_cursor (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result) {
	GdkPoint viewport_center_iso = {0};
	ZoomState _tmp0_ = {0};
	GdkPoint _tmp1_ = {0};
	ZoomState _tmp2_ = {0};
	gdouble _tmp3_ = 0.0;
	GdkPoint _tmp4_ = {0};
	GdkPoint cursor_wrt_center_iso = {0};
	GdkEventScroll* _tmp5_ = NULL;
	GdkPoint _tmp6_ = {0};
	ZoomState _tmp7_ = {0};
	gdouble _tmp8_ = 0.0;
	GdkPoint _tmp9_ = {0};
	GdkPoint _tmp10_ = {0};
	GdkPoint _tmp11_ = {0};
	GdkPoint _tmp12_ = {0};
#line 631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (event != NULL);
#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_);
#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewport_center (&_tmp0_, &_tmp1_);
#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp2_);
#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = zoom_state_get_zoom_factor (&_tmp2_);
#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scale_point (&_tmp1_, 1.0 / _tmp3_, &_tmp4_);
#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_center_iso = _tmp4_;
#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = event;
#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_get_cursor_wrt_viewport_center (self, _tmp5_, &_tmp6_);
#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp7_);
#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = zoom_state_get_zoom_factor (&_tmp7_);
#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scale_point (&_tmp6_, 1.0 / _tmp8_, &_tmp9_);
#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	cursor_wrt_center_iso = _tmp9_;
#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = viewport_center_iso;
#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = cursor_wrt_center_iso;
#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	add_points (&_tmp10_, &_tmp11_, &_tmp12_);
#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	*result = _tmp12_;
#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return;
#line 5519 "PhotoPage.c"
}


static gdouble editing_host_page_snap_interpolation_factor (EditingHostPage* self, gdouble interp) {
	gdouble result = 0.0;
	gdouble _tmp0_ = 0.0;
	gdouble _tmp2_ = 0.0;
#line 641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), 0.0);
#line 642 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = interp;
#line 642 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ < 0.03) {
#line 643 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		interp = 0.0;
#line 5535 "PhotoPage.c"
	} else {
		gdouble _tmp1_ = 0.0;
#line 644 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = interp;
#line 644 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp1_ > 0.97) {
#line 645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			interp = 1.0;
#line 5544 "PhotoPage.c"
		}
	}
#line 647 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = interp;
#line 647 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp2_;
#line 647 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5553 "PhotoPage.c"
}


static gdouble editing_host_page_adjust_interpolation_factor (EditingHostPage* self, gdouble adjustment) {
	gdouble result = 0.0;
	ZoomState _tmp0_ = {0};
	gdouble _tmp1_ = 0.0;
	gdouble _tmp2_ = 0.0;
	gdouble _tmp3_ = 0.0;
#line 650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), 0.0);
#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_);
#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = zoom_state_get_interpolation_factor (&_tmp0_);
#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = adjustment;
#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_snap_interpolation_factor (self, _tmp1_ + _tmp2_);
#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp3_;
#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5577 "PhotoPage.c"
}


static void editing_host_page_zoom_about_event_cursor_point (EditingHostPage* self, GdkEventScroll* event, gdouble zoom_increment) {
	gboolean _tmp0_ = FALSE;
	GdkPoint cursor_wrt_viewport_center = {0};
	GdkEventScroll* _tmp1_ = NULL;
	GdkPoint _tmp2_ = {0};
	GdkPoint iso_pixel_under_cursor = {0};
	GdkEventScroll* _tmp3_ = NULL;
	GdkPoint _tmp4_ = {0};
	gdouble interp = 0.0;
	gdouble _tmp5_ = 0.0;
	gdouble _tmp6_ = 0.0;
	GtkScale* _tmp7_ = NULL;
	guint _tmp8_ = 0U;
	GtkScale* _tmp9_ = NULL;
	gdouble _tmp10_ = 0.0;
	GtkScale* _tmp11_ = NULL;
	ZoomState new_zoom_state = {0};
	ZoomState _tmp12_ = {0};
	gdouble _tmp13_ = 0.0;
	gboolean _tmp14_ = FALSE;
	GdkPoint new_zoomed_old_cursor = {0};
	GdkPoint _tmp15_ = {0};
	gdouble _tmp16_ = 0.0;
	GdkPoint _tmp17_ = {0};
	GdkPoint desired_new_viewport_center = {0};
	GdkPoint _tmp18_ = {0};
	GdkPoint _tmp19_ = {0};
	GdkPoint _tmp20_ = {0};
	ZoomState _tmp21_ = {0};
	GdkPoint _tmp22_ = {0};
	ZoomState _tmp23_ = {0};
#line 654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (event != NULL);
#line 655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->photo_missing;
#line 655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 656 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 5622 "PhotoPage.c"
	}
#line 658 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = event;
#line 658 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_get_cursor_wrt_viewport_center (self, _tmp1_, &_tmp2_);
#line 658 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	cursor_wrt_viewport_center = _tmp2_;
#line 659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = event;
#line 659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_get_iso_pixel_under_cursor (self, _tmp3_, &_tmp4_);
#line 659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	iso_pixel_under_cursor = _tmp4_;
#line 661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = zoom_increment;
#line 661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = editing_host_page_adjust_interpolation_factor (self, _tmp5_);
#line 661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	interp = _tmp6_;
#line 662 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = self->priv->zoom_slider;
#line 662 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp8_, NULL, FALSE);
#line 662 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self);
#line 663 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = self->priv->zoom_slider;
#line 663 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = interp;
#line 663 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_range_get_type (), GtkRange), _tmp10_);
#line 664 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = self->priv->zoom_slider;
#line 664 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0);
#line 666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp12_);
#line 666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = interp;
#line 666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_init_rescale (&new_zoom_state, &_tmp12_, _tmp13_);
#line 668 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = zoom_state_is_min (&new_zoom_state);
#line 668 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp14_) {
#line 669 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 670 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_update_cursor_for_zoom_context (self);
#line 671 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 672 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 5676 "PhotoPage.c"
	}
#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = iso_pixel_under_cursor;
#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = zoom_state_get_zoom_factor (&new_zoom_state);
#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scale_point (&_tmp15_, _tmp16_, &_tmp17_);
#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	new_zoomed_old_cursor = _tmp17_;
#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = new_zoomed_old_cursor;
#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = cursor_wrt_viewport_center;
#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	subtract_points (&_tmp18_, &_tmp19_, &_tmp20_);
#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	desired_new_viewport_center = _tmp20_;
#line 680 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = new_zoom_state;
#line 680 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = desired_new_viewport_center;
#line 680 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_init_pan (&new_zoom_state, &_tmp21_, &_tmp22_);
#line 682 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = new_zoom_state;
#line 682 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp23_);
#line 683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 685 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_cursor_for_zoom_context (self);
#line 5708 "PhotoPage.c"
}


void editing_host_page_snap_zoom_to_min (EditingHostPage* self) {
	GtkScale* _tmp0_ = NULL;
#line 688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 689 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 689 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), 0.0);
#line 5720 "PhotoPage.c"
}


void editing_host_page_snap_zoom_to_max (EditingHostPage* self) {
	GtkScale* _tmp0_ = NULL;
#line 692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 693 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 693 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), 1.0);
#line 5732 "PhotoPage.c"
}


void editing_host_page_snap_zoom_to_isomorphic (EditingHostPage* self) {
	ZoomState iso_state = {0};
	ZoomState _tmp0_ = {0};
	GtkScale* _tmp1_ = NULL;
	gdouble _tmp2_ = 0.0;
#line 696 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_);
#line 697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_init_rescale_to_isomorphic (&iso_state, &_tmp0_);
#line 698 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->zoom_slider;
#line 698 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = zoom_state_get_interpolation_factor (&iso_state);
#line 698 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange), _tmp2_);
#line 5753 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event) {
	gboolean result = FALSE;
	GdkEventKey* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label0 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label1 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label2 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label3 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label4 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label5 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label6 = 0;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp4_label7 = 0;
#line 701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = event;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_->keyval;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gdk_keyval_name (_tmp1_);
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("equal")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("plus"))))) || (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("KP_Add"))))) {
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 5796 "PhotoPage.c"
			default:
			{
#line 706 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize");
#line 707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				result = TRUE;
#line 707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return result;
#line 5805 "PhotoPage.c"
			}
		}
	} else if (((_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("minus")))) || (_tmp5_ == ((0 != _tmp4_label4) ? _tmp4_label4 : (_tmp4_label4 = g_quark_from_static_string ("underscore"))))) || (_tmp5_ == ((0 != _tmp4_label5) ? _tmp4_label5 : (_tmp4_label5 = g_quark_from_static_string ("KP_Subtract"))))) {
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 5811 "PhotoPage.c"
			default:
			{
#line 712 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize");
#line 713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				result = TRUE;
#line 713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return result;
#line 5820 "PhotoPage.c"
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label6) ? _tmp4_label6 : (_tmp4_label6 = g_quark_from_static_string ("KP_Divide")))) {
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 5826 "PhotoPage.c"
			default:
			{
#line 716 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom100");
#line 717 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				result = TRUE;
#line 717 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return result;
#line 5835 "PhotoPage.c"
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label7) ? _tmp4_label7 : (_tmp4_label7 = g_quark_from_static_string ("KP_Multiply")))) {
#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 5841 "PhotoPage.c"
			default:
			{
#line 720 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ZoomFit");
#line 721 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				result = TRUE;
#line 721 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return result;
#line 5850 "PhotoPage.c"
			}
		}
	}
#line 724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5858 "PhotoPage.c"
}


gboolean editing_host_page_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event) {
#line 701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->on_zoom_slider_key_press (self, event);
#line 5867 "PhotoPage.c"
}


static void editing_host_page_real_on_increase_size (EditingHostPage* self) {
	GtkScale* _tmp0_ = NULL;
	gdouble _tmp1_ = 0.0;
#line 728 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 728 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_adjust_interpolation_factor (self, EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE);
#line 728 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), _tmp1_);
#line 5880 "PhotoPage.c"
}


void editing_host_page_on_increase_size (EditingHostPage* self) {
#line 727 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 727 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_GET_CLASS (self)->on_increase_size (self);
#line 5889 "PhotoPage.c"
}


static void editing_host_page_real_on_decrease_size (EditingHostPage* self) {
	GtkScale* _tmp0_ = NULL;
	gdouble _tmp1_ = 0.0;
#line 732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_adjust_interpolation_factor (self, -EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE);
#line 732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), _tmp1_);
#line 5902 "PhotoPage.c"
}


void editing_host_page_on_decrease_size (EditingHostPage* self) {
#line 731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_GET_CLASS (self)->on_decrease_size (self);
#line 5911 "PhotoPage.c"
}


static void editing_host_page_real_save_zoom_state (SinglePhotoPage* base) {
	EditingHostPage * self;
	GtkScale* _tmp0_ = NULL;
	gdouble _tmp1_ = 0.0;
#line 735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 736 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->save_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 737 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 737 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange));
#line 737 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->saved_slider_val = _tmp1_;
#line 5929 "PhotoPage.c"
}


static ZoomBuffer* editing_host_page_real_get_zoom_buffer (SinglePhotoPage* base) {
	EditingHostPage * self;
	ZoomBuffer* result = NULL;
	ZoomBuffer* _tmp0_ = NULL;
	ZoomBuffer* _tmp1_ = NULL;
#line 740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_buffer;
#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp1_;
#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5948 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_mousewheel_up (Page* base, GdkEventScroll* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	ZoomState _tmp1_ = {0};
	gboolean _tmp2_ = FALSE;
	GdkEventScroll* _tmp5_ = NULL;
#line 744 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 744 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_);
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = zoom_state_is_max (&_tmp1_);
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 5971 "PhotoPage.c"
	} else {
		GtkScale* _tmp3_ = NULL;
		gboolean _tmp4_ = FALSE;
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->zoom_slider;
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp4_;
#line 5981 "PhotoPage.c"
	}
#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 746 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = FALSE;
#line 746 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 5989 "PhotoPage.c"
	}
#line 748 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = event;
#line 748 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_zoom_about_event_cursor_point (self, _tmp5_, EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE);
#line 749 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 749 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 5999 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_mousewheel_down (Page* base, GdkEventScroll* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	ZoomState _tmp1_ = {0};
	gboolean _tmp2_ = FALSE;
	GdkEventScroll* _tmp5_ = NULL;
#line 752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_);
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = zoom_state_is_min (&_tmp1_);
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 6022 "PhotoPage.c"
	} else {
		GtkScale* _tmp3_ = NULL;
		gboolean _tmp4_ = FALSE;
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->zoom_slider;
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp4_;
#line 6032 "PhotoPage.c"
	}
#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 754 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = FALSE;
#line 754 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 6040 "PhotoPage.c"
	}
#line 756 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = event;
#line 756 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_zoom_about_event_cursor_point (self, _tmp5_, -EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE);
#line 757 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 757 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 6050 "PhotoPage.c"
}


static void editing_host_page_real_restore_zoom_state (SinglePhotoPage* base) {
	EditingHostPage * self;
	GtkScale* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	GtkScale* _tmp2_ = NULL;
	gdouble _tmp3_ = 0.0;
	GtkScale* _tmp4_ = NULL;
#line 760 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 761 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->restore_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 763 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 763 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp1_, NULL, FALSE);
#line 763 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self);
#line 764 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->zoom_slider;
#line 764 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->saved_slider_val;
#line 764 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), _tmp3_);
#line 765 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = self->priv->zoom_slider;
#line 765 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0);
#line 6081 "PhotoPage.c"
}


static gboolean editing_host_page_real_is_zoom_supported (SinglePhotoPage* base) {
	EditingHostPage * self;
	gboolean result = FALSE;
#line 768 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 769 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 769 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 6094 "PhotoPage.c"
}


static void editing_host_page_real_set_container (Page* base, GtkWindow* container) {
	EditingHostPage * self;
	GtkWindow* _tmp0_ = NULL;
	GtkWindow* _tmp1_ = NULL;
#line 772 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 772 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GTK_IS_WINDOW (container));
#line 773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = container;
#line 773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->set_container (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp0_);
#line 776 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = container;
#line 776 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW)) {
#line 6114 "PhotoPage.c"
		DragAndDropHandler* _tmp2_ = NULL;
#line 777 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = drag_and_drop_handler_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 777 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_drag_and_drop_handler_unref0 (self->priv->dnd_handler);
#line 777 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->dnd_handler = _tmp2_;
#line 6122 "PhotoPage.c"
	}
}


ViewCollection* editing_host_page_get_parent_view (EditingHostPage* self) {
	ViewCollection* result = NULL;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
#line 780 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->parent_view;
#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _data_collection_ref0 (_tmp0_);
#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp1_;
#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 6141 "PhotoPage.c"
}


gboolean editing_host_page_has_photo (EditingHostPage* self) {
	gboolean result = FALSE;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 784 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (self);
#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_ != NULL;
#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp2_;
#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 6164 "PhotoPage.c"
}


Photo* editing_host_page_get_photo (EditingHostPage* self) {
	Photo* result = NULL;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	ViewCollection* _tmp7_ = NULL;
	ViewCollection* _tmp8_ = NULL;
	DataView* _tmp9_ = NULL;
	DataView* _tmp10_ = NULL;
	DataSource* _tmp11_ = NULL;
	Photo* _tmp12_ = NULL;
#line 788 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_ == 0;
#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_) {
#line 791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = NULL;
#line 791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 6201 "PhotoPage.c"
	}
#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = view_collection_get_selected_count (_tmp5_);
#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp6_ == 1, "get_view().get_selected_count() == 1");
#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = view_collection_get_selected_at (_tmp8_, 0);
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = data_view_get_source (_tmp10_);
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PHOTO, Photo);
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp10_);
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp8_);
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp12_;
#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 6233 "PhotoPage.c"
}


static void editing_host_page_real_photo_changing (EditingHostPage* self, Photo* new_photo) {
	Photo* _tmp0_ = NULL;
	PhotoFileFormat _tmp1_ = 0;
	gboolean _tmp6_ = FALSE;
#line 800 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (new_photo));
#line 803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = new_photo;
#line 803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = photo_get_file_format (_tmp0_);
#line 803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == PHOTO_FILE_FORMAT_RAW) {
#line 804 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_set_photo_missing (self, FALSE);
#line 6251 "PhotoPage.c"
	} else {
		Photo* _tmp2_ = NULL;
		GFile* _tmp3_ = NULL;
		GFile* _tmp4_ = NULL;
		gboolean _tmp5_ = FALSE;
#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = new_photo;
#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource));
#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = g_file_query_exists (_tmp4_, NULL);
#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_set_photo_missing (self, !_tmp5_);
#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 6269 "PhotoPage.c"
	}
#line 808 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->photo_missing;
#line 808 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_ui (self, _tmp6_);
#line 6275 "PhotoPage.c"
}


void editing_host_page_photo_changing (EditingHostPage* self, Photo* new_photo) {
#line 800 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 800 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_GET_CLASS (self)->photo_changing (self, new_photo);
#line 6284 "PhotoPage.c"
}


static void editing_host_page_set_photo (EditingHostPage* self, Photo* photo) {
	GtkScale* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	GtkScale* _tmp2_ = NULL;
	GtkScale* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	DataView* view = NULL;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	Photo* _tmp7_ = NULL;
	DataView* _tmp8_ = NULL;
	DataView* _tmp9_ = NULL;
	DataView* _tmp10_ = NULL;
	ViewCollection* _tmp11_ = NULL;
	ViewCollection* _tmp12_ = NULL;
	Marker* marker = NULL;
	ViewCollection* _tmp13_ = NULL;
	ViewCollection* _tmp14_ = NULL;
	DataView* _tmp15_ = NULL;
	Marker* _tmp16_ = NULL;
	Marker* _tmp17_ = NULL;
	ViewCollection* _tmp18_ = NULL;
	ViewCollection* _tmp19_ = NULL;
	Marker* _tmp20_ = NULL;
	ViewCollection* _tmp21_ = NULL;
#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (photo));
#line 812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp1_, NULL, FALSE);
#line 812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self);
#line 813 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->zoom_slider;
#line 813 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), 0.0);
#line 814 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->zoom_slider;
#line 814 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0);
#line 816 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = photo;
#line 816 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_photo_changing (self, _tmp4_);
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = photo;
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = view_collection_get_view_for_source (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource));
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp6_);
#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view = _tmp9_;
#line 818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = view;
#line 818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp10_ != NULL, "view != null");
#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_collection_unselect_all (_tmp12_);
#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp12_);
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = view;
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_OBJECT, DataObject));
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = _tmp16_;
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp14_);
#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	marker = _tmp17_;
#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = _tmp18_;
#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = marker;
#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_collection_select_marked (_tmp19_, _tmp20_);
#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp19_);
#line 827 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = self->priv->parent_view;
#line 827 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp21_ != NULL) {
#line 6389 "PhotoPage.c"
		ViewCollection* _tmp22_ = NULL;
		DataView* view_in_parent = NULL;
		ViewCollection* _tmp23_ = NULL;
		Photo* _tmp24_ = NULL;
		DataView* _tmp25_ = NULL;
		DataView* _tmp26_ = NULL;
#line 828 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = self->priv->parent_view;
#line 828 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_collection_unselect_all (_tmp22_);
#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = self->priv->parent_view;
#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = photo;
#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = view_collection_get_view_for_source_filtered (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_SOURCE, DataSource));
#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_in_parent = _tmp25_;
#line 830 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = view_in_parent;
#line 830 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (NULL != _tmp26_) {
#line 6412 "PhotoPage.c"
			ViewCollection* _tmp27_ = NULL;
			ViewCollection* _tmp28_ = NULL;
			DataView* _tmp29_ = NULL;
			Marker* _tmp30_ = NULL;
			Marker* _tmp31_ = NULL;
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp27_ = self->priv->parent_view;
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp28_ = self->priv->parent_view;
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp29_ = view_in_parent;
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp30_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject));
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp31_ = _tmp30_;
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			view_collection_select_marked (_tmp27_, _tmp31_);
#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp31_);
#line 6432 "PhotoPage.c"
		}
#line 827 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (view_in_parent);
#line 6436 "PhotoPage.c"
	}
#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (marker);
#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (view);
#line 6442 "PhotoPage.c"
}


static void editing_host_page_real_realize (GtkWidget* base) {
	EditingHostPage * self;
#line 835 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 836 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	GTK_WIDGET_CLASS (editing_host_page_parent_class)->realize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), gtk_widget_get_type (), GtkWidget));
#line 838 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rebuild_caches (self, "realize");
#line 6454 "PhotoPage.c"
}


static void editing_host_page_real_switched_to (Page* base) {
	EditingHostPage * self;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page));
#line 844 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rebuild_caches (self, "switched_to");
#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (self);
#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 6472 "PhotoPage.c"
		gboolean _tmp2_ = FALSE;
#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = self->priv->pixbuf_dirty;
#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_;
#line 6478 "PhotoPage.c"
	} else {
#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 6482 "PhotoPage.c"
	}
#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 6486 "PhotoPage.c"
		Photo* _tmp3_ = NULL;
		Photo* _tmp4_ = NULL;
#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (self);
#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_replace_photo (self, _tmp4_);
#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 6497 "PhotoPage.c"
	}
}


static void editing_host_page_real_switching_from (Page* base) {
	EditingHostPage * self;
	Dimensions _tmp0_ = {0};
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	ViewCollection* _tmp13_ = NULL;
	ViewCollection* _tmp14_ = NULL;
#line 851 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->switching_from (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page));
#line 854 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->is_pan_in_progress = FALSE;
#line 857 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 857 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_has_photo (self);
#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 6525 "PhotoPage.c"
		ViewCollection* _tmp3_ = NULL;
#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->parent_view;
#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = _tmp3_ != NULL;
#line 6531 "PhotoPage.c"
	} else {
#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = FALSE;
#line 6535 "PhotoPage.c"
	}
#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 6539 "PhotoPage.c"
		ViewCollection* _tmp4_ = NULL;
		ViewCollection* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
		Photo* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		DataView* _tmp9_ = NULL;
		DataView* _tmp10_ = NULL;
		Marker* _tmp11_ = NULL;
		Marker* _tmp12_ = NULL;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = self->priv->parent_view;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = self->priv->parent_view;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = self->priv->parent_view;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = editing_host_page_get_photo (self);
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = view_collection_get_view_for_source (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource));
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp9_;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject));
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_collection_select_marked (_tmp4_, _tmp12_);
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp12_);
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp10_);
#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 6575 "PhotoPage.c"
	}
#line 868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (self->priv->parent_view);
#line 868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->parent_view = NULL;
#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection));
#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp14_);
#line 6589 "PhotoPage.c"
}


static void _editing_host_page_on_selection_changed_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self) {
#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_selection_changed ((EditingHostPage*) self, selected);
#line 6596 "PhotoPage.c"
}


static void editing_host_page_real_switching_to_fullscreen (Page* base, FullscreenWindow* fsw) {
	EditingHostPage * self;
	FullscreenWindow* _tmp0_ = NULL;
	Dimensions _tmp1_ = {0};
	Page* page = NULL;
	FullscreenWindow* _tmp2_ = NULL;
	Page* _tmp3_ = NULL;
	Page* _tmp4_ = NULL;
#line 872 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 872 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_FULLSCREEN_WINDOW (fsw));
#line 873 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = fsw;
#line 873 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->switching_to_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp0_);
#line 875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp1_, 0, 0);
#line 875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp1_, FALSE);
#line 877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 878 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->is_pan_in_progress = FALSE;
#line 880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = fsw;
#line 880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PAGE_WINDOW, PageWindow));
#line 880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page = _tmp3_;
#line 881 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = page;
#line 881 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_ != NULL) {
#line 6634 "PhotoPage.c"
		Page* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
		ViewCollection* _tmp7_ = NULL;
#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = page;
#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = page_get_view (_tmp5_);
#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp6_;
#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_signal_connect_object (_tmp7_, "items-selected", (GCallback) _editing_host_page_on_selection_changed_view_collection_items_selected, self, 0);
#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp7_);
#line 6648 "PhotoPage.c"
	}
#line 872 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (page);
#line 6652 "PhotoPage.c"
}


static void editing_host_page_real_returning_from_fullscreen (Page* base, FullscreenWindow* fsw) {
	EditingHostPage * self;
	FullscreenWindow* _tmp0_ = NULL;
	Page* page = NULL;
	FullscreenWindow* _tmp1_ = NULL;
	Page* _tmp2_ = NULL;
	Page* _tmp3_ = NULL;
#line 885 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 885 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_FULLSCREEN_WINDOW (fsw));
#line 886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = fsw;
#line 886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->returning_from_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp0_);
#line 888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 890 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = fsw;
#line 890 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow));
#line 890 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page = _tmp2_;
#line 891 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = page;
#line 891 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ != NULL) {
#line 6683 "PhotoPage.c"
		Page* _tmp4_ = NULL;
		ViewCollection* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
		guint _tmp7_ = 0U;
#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = page;
#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = page_get_view (_tmp4_);
#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_signal_parse_name ("items-selected", TYPE_VIEW_COLLECTION, &_tmp7_, NULL, FALSE);
#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _editing_host_page_on_selection_changed_view_collection_items_selected, self);
#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp6_);
#line 6700 "PhotoPage.c"
	}
#line 885 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (page);
#line 6704 "PhotoPage.c"
}


static void editing_host_page_on_selection_changed (EditingHostPage* self, GeeIterable* selected) {
#line 895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GEE_IS_ITERABLE (selected));
#line 6713 "PhotoPage.c"
	{
		GeeIterator* _view_it = NULL;
		GeeIterable* _tmp0_ = NULL;
		GeeIterator* _tmp1_ = NULL;
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = selected;
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = gee_iterable_iterator (_tmp0_);
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_view_it = _tmp1_;
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		while (TRUE) {
#line 6726 "PhotoPage.c"
			gboolean _tmp2_ = FALSE;
			DataView* view = NULL;
			gpointer _tmp3_ = NULL;
			DataView* _tmp4_ = NULL;
			DataSource* _tmp5_ = NULL;
			Photo* _tmp6_ = NULL;
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp2_ = gee_iterator_next (_view_it);
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (!_tmp2_) {
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 6739 "PhotoPage.c"
			}
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp3_ = gee_iterator_get (_view_it);
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			view = (DataView*) _tmp3_;
#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp4_ = view;
#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp5_ = data_view_get_source (_tmp4_);
#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO, Photo);
#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			editing_host_page_replace_photo (self, _tmp6_);
#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp6_);
#line 898 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (view);
#line 898 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			break;
#line 6759 "PhotoPage.c"
		}
#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_view_it);
#line 6763 "PhotoPage.c"
	}
}


void editing_host_page_enable_rotate (EditingHostPage* self, gboolean should_enable) {
	GtkToolButton* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
#line 902 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 903 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->rotate_button;
#line 903 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = should_enable;
#line 903 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp1_);
#line 6779 "PhotoPage.c"
}


static void _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched (PixbufCache* _sender, Photo* photo, GdkPixbuf* pixbuf, GError* err, gpointer self) {
#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_pixbuf_fetched ((EditingHostPage*) self, photo, pixbuf, err);
#line 6786 "PhotoPage.c"
}


static gboolean _editing_host_page_master_cache_filter_pixbuf_cache_cache_filter (Photo* photo, gpointer self) {
	gboolean result;
	result = editing_host_page_master_cache_filter ((EditingHostPage*) self, photo);
#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 6795 "PhotoPage.c"
}


static void editing_host_page_rebuild_caches (EditingHostPage* self, const gchar* caller) {
	Scaling scaling = {0};
	Scaling _tmp0_ = {0};
	gboolean _tmp1_ = FALSE;
	PixbufCache* _tmp2_ = NULL;
	const gchar* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	PixbufCache* _tmp10_ = NULL;
	SourceCollection* _tmp14_ = NULL;
	Scaling _tmp15_ = {0};
	PixbufCache* _tmp16_ = NULL;
	PixbufCache* _tmp17_ = NULL;
	SourceCollection* _tmp18_ = NULL;
	Scaling _tmp19_ = {0};
	PixbufCache* _tmp20_ = NULL;
	const gchar* _tmp21_ = NULL;
#line 909 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 909 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (caller != NULL);
#line 910 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_);
#line 910 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scaling = _tmp0_;
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->cache;
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_ != NULL) {
#line 6828 "PhotoPage.c"
		PixbufCache* _tmp3_ = NULL;
		Scaling _tmp4_ = {0};
		Scaling _tmp5_ = {0};
		gboolean _tmp6_ = FALSE;
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->cache;
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixbuf_cache_get_scaling (_tmp3_, &_tmp4_);
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = scaling;
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = scaling_equals (&_tmp4_, &_tmp5_);
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = _tmp6_;
#line 6843 "PhotoPage.c"
	} else {
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = FALSE;
#line 6847 "PhotoPage.c"
	}
#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 914 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 6853 "PhotoPage.c"
	}
#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = caller;
#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = scaling_to_string (&scaling);
#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_debug ("PhotoPage.vala:916: Rebuild pixbuf caches: %s (%s)", _tmp7_, _tmp9_);
#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp9_);
#line 920 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = self->priv->cache;
#line 920 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_ != NULL) {
#line 6869 "PhotoPage.c"
		PixbufCache* _tmp11_ = NULL;
		guint _tmp12_ = 0U;
		PixbufCache* _tmp13_ = NULL;
#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = self->priv->cache;
#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_signal_parse_name ("fetched", TYPE_PIXBUF_CACHE, &_tmp12_, NULL, FALSE);
#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched, self);
#line 922 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = self->priv->cache;
#line 922 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixbuf_cache_cancel_all (_tmp13_);
#line 6883 "PhotoPage.c"
	}
#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = self->priv->sources;
#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = scaling;
#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = pixbuf_cache_new (_tmp14_, PIXBUF_CACHE_PHOTO_TYPE_BASELINE, &_tmp15_, EDITING_HOST_PAGE_PIXBUF_CACHE_COUNT, NULL, NULL);
#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cache);
#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->cache = _tmp16_;
#line 926 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = self->priv->cache;
#line 926 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp17_, "fetched", (GCallback) _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched, self, 0);
#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = self->priv->sources;
#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = scaling;
#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = pixbuf_cache_new (_tmp18_, PIXBUF_CACHE_PHOTO_TYPE_MASTER, &_tmp19_, EDITING_HOST_PAGE_ORIGINAL_PIXBUF_CACHE_COUNT, _editing_host_page_master_cache_filter_pixbuf_cache_cache_filter, self);
#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->master_cache);
#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->master_cache = _tmp20_;
#line 931 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = caller;
#line 931 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_refresh_caches (self, _tmp21_);
#line 6913 "PhotoPage.c"
}


static void editing_host_page_refresh_caches (EditingHostPage* self, const gchar* caller) {
	gboolean _tmp0_ = FALSE;
#line 935 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 935 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (caller != NULL);
#line 936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (self);
#line 936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 6927 "PhotoPage.c"
		const gchar* _tmp1_ = NULL;
		Photo* _tmp2_ = NULL;
		Photo* _tmp3_ = NULL;
		gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
		ViewCollection* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		Photo* _tmp9_ = NULL;
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = caller;
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo (self);
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp2_;
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject));
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp4_;
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_debug ("PhotoPage.vala:937: Refresh pixbuf caches (%s): prefetching neighbors " \
"of %s", _tmp1_, _tmp5_);
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp5_);
#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp6_;
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = editing_host_page_get_photo (self);
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = _tmp8_;
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_prefetch_neighbors (self, _tmp7_, _tmp9_);
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp9_);
#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp7_);
#line 6967 "PhotoPage.c"
	} else {
		const gchar* _tmp10_ = NULL;
#line 941 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = caller;
#line 941 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_debug ("PhotoPage.vala:941: Refresh pixbuf caches (%s): (no photo)", _tmp10_);
#line 6974 "PhotoPage.c"
	}
}


static gboolean editing_host_page_master_cache_filter (EditingHostPage* self, Photo* photo) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	Photo* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 945 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 945 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (photo), FALSE);
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = photo;
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = photo_has_transformations (_tmp1_);
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 6996 "PhotoPage.c"
	} else {
		Photo* _tmp3_ = NULL;
		gboolean _tmp4_ = FALSE;
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = photo;
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = photo_has_editable (_tmp3_);
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp4_;
#line 7006 "PhotoPage.c"
	}
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp0_;
#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 7012 "PhotoPage.c"
}


static void editing_host_page_on_pixbuf_fetched (EditingHostPage* self, Photo* photo, GdkPixbuf* pixbuf, GError* err) {
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	GdkPixbuf* _tmp5_ = NULL;
	GError * _inner_error_ = NULL;
#line 949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (photo));
#line 949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail ((pixbuf == NULL) || GDK_IS_PIXBUF (pixbuf));
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = photo;
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_get_photo (self);
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource));
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = !_tmp3_;
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 952 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 7046 "PhotoPage.c"
	}
#line 954 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = pixbuf;
#line 954 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_ != NULL) {
#line 7052 "PhotoPage.c"
		gboolean _tmp6_ = FALSE;
		ZoomBuffer* _tmp7_ = NULL;
		Dimensions max_dim = {0};
		Photo* _tmp15_ = NULL;
		Dimensions _tmp16_ = {0};
		EditingToolsEditingTool* _tmp17_ = NULL;
		GdkPixbuf* _tmp31_ = NULL;
		Dimensions _tmp32_ = {0};
		Photo* _tmp33_ = NULL;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = self->priv->zoom_buffer;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp7_ != NULL) {
#line 7066 "PhotoPage.c"
			ZoomBuffer* _tmp8_ = NULL;
			Photo* _tmp9_ = NULL;
			Photo* _tmp10_ = NULL;
			Photo* _tmp11_ = NULL;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = self->priv->zoom_buffer;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = zoom_buffer_get_backing_photo (_tmp8_);
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp10_ = _tmp9_;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp11_ = photo;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = _tmp10_ == _tmp11_;
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp10_);
#line 7083 "PhotoPage.c"
		} else {
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = FALSE;
#line 7087 "PhotoPage.c"
		}
#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp6_) {
#line 7091 "PhotoPage.c"
			Photo* _tmp12_ = NULL;
			GdkPixbuf* _tmp13_ = NULL;
			ZoomBuffer* _tmp14_ = NULL;
#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp12_ = photo;
#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = pixbuf;
#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = zoom_buffer_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp12_, _tmp13_);
#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (self->priv->zoom_buffer);
#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			self->priv->zoom_buffer = _tmp14_;
#line 7105 "PhotoPage.c"
		}
#line 961 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = photo;
#line 961 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp16_);
#line 961 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		max_dim = _tmp16_;
#line 962 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = self->priv->current_tool;
#line 962 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp17_ != NULL) {
#line 7117 "PhotoPage.c"
			{
				Dimensions tool_pixbuf_dim = {0};
				GdkPixbuf* tool_pixbuf = NULL;
				EditingToolsEditingTool* _tmp18_ = NULL;
				Scaling _tmp19_ = {0};
				Photo* _tmp20_ = NULL;
				Dimensions _tmp21_ = {0};
				GdkPixbuf* _tmp22_ = NULL;
				GdkPixbuf* _tmp23_ = NULL;
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp18_ = self->priv->current_tool;
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp19_);
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp20_ = photo;
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp22_ = editing_tools_editing_tool_get_display_pixbuf (_tmp18_, &_tmp19_, _tmp20_, &_tmp21_, &_inner_error_);
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				tool_pixbuf_dim = _tmp21_;
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				tool_pixbuf = _tmp22_;
#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 7141 "PhotoPage.c"
					goto __catch231_g_error;
				}
#line 968 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp23_ = tool_pixbuf;
#line 968 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				if (_tmp23_ != NULL) {
#line 7148 "PhotoPage.c"
					GdkPixbuf* _tmp24_ = NULL;
					Dimensions _tmp25_ = {0};
#line 969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
					_tmp24_ = tool_pixbuf;
#line 969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
					pixbuf = _tmp24_;
#line 970 "/home/jens/Source/shotwell/src/PhotoPage.vala"
					_tmp25_ = tool_pixbuf_dim;
#line 970 "/home/jens/Source/shotwell/src/PhotoPage.vala"
					max_dim = _tmp25_;
#line 7159 "PhotoPage.c"
				}
#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (tool_pixbuf);
#line 7163 "PhotoPage.c"
			}
			goto __finally231;
			__catch231_g_error:
			{
				GError* err = NULL;
				Photo* _tmp26_ = NULL;
				gchar* _tmp27_ = NULL;
				gchar* _tmp28_ = NULL;
				GError* _tmp29_ = NULL;
				const gchar* _tmp30_ = NULL;
#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				err = _inner_error_;
#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_inner_error_ = NULL;
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp26_ = photo;
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp27_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_OBJECT, DataObject));
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp28_ = _tmp27_;
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp29_ = err;
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp30_ = _tmp29_->message;
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				g_warning ("PhotoPage.vala:973: Unable to fetch tool pixbuf for %s: %s", _tmp28_, _tmp30_);
#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_free0 (_tmp28_);
#line 974 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				editing_host_page_set_photo_missing (self, TRUE);
#line 976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_error_free0 (err);
#line 976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return;
#line 7198 "PhotoPage.c"
			}
			__finally231:
#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 963 "/home/jens/Source/shotwell/src/PhotoPage.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 963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				g_clear_error (&_inner_error_);
#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return;
#line 7209 "PhotoPage.c"
			}
		}
#line 980 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = pixbuf;
#line 980 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = max_dim;
#line 980 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp31_, &_tmp32_, NULL);
#line 981 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->pixbuf_dirty = FALSE;
#line 983 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp33_ = photo;
#line 983 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_notify_photo_backing_missing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PHOTO, Photo), FALSE);
#line 7224 "PhotoPage.c"
	} else {
		GError* _tmp34_ = NULL;
#line 984 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp34_ = err;
#line 984 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp34_ != NULL) {
#line 7231 "PhotoPage.c"
			Photo* _tmp35_ = NULL;
#line 987 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			editing_host_page_set_photo_missing (self, TRUE);
#line 990 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp35_ = photo;
#line 990 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			editing_host_page_notify_photo_backing_missing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PHOTO, Photo), TRUE);
#line 7239 "PhotoPage.c"
		}
	}
}


static void editing_host_page_prefetch_neighbors (EditingHostPage* self, ViewCollection* controller, Photo* photo) {
	PixbufCachePixbufCacheBatch* normal_batch = NULL;
	PixbufCachePixbufCacheBatch* _tmp0_ = NULL;
	PixbufCachePixbufCacheBatch* master_batch = NULL;
	PixbufCachePixbufCacheBatch* _tmp1_ = NULL;
	PixbufCachePixbufCacheBatch* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	PixbufCachePixbufCacheBatch* _tmp4_ = NULL;
	Photo* _tmp5_ = NULL;
	DataSource* next_source = NULL;
	DataSource* prev_source = NULL;
	ViewCollection* _tmp6_ = NULL;
	Photo* _tmp7_ = NULL;
	DataSource* _tmp8_ = NULL;
	DataSource* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
	Photo* next = NULL;
	DataSource* _tmp11_ = NULL;
	Photo* _tmp12_ = NULL;
	Photo* prev = NULL;
	DataSource* _tmp13_ = NULL;
	Photo* _tmp14_ = NULL;
	PixbufCache* _tmp39_ = NULL;
	PixbufCachePixbufCacheBatch* _tmp40_ = NULL;
	PixbufCache* _tmp41_ = NULL;
	PixbufCachePixbufCacheBatch* _tmp42_ = NULL;
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_VIEW_COLLECTION (controller));
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (photo));
#line 995 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = pixbuf_cache_pixbuf_cache_batch_new ();
#line 995 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	normal_batch = _tmp0_;
#line 996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = pixbuf_cache_pixbuf_cache_batch_new ();
#line 996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	master_batch = _tmp1_;
#line 998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = normal_batch;
#line 998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = photo;
#line 998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) BACKGROUND_JOB_JOB_PRIORITY_HIGHEST), _tmp3_);
#line 999 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = master_batch;
#line 999 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = photo;
#line 999 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) BACKGROUND_JOB_JOB_PRIORITY_LOW), _tmp5_);
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = controller;
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = photo;
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = view_collection_get_immediate_neighbors (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource), &_tmp8_, &_tmp9_, PHOTO_TYPENAME);
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (next_source);
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	next_source = _tmp8_;
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (prev_source);
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	prev_source = _tmp9_;
#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp10_) {
#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (prev_source);
#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (next_source);
#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (master_batch);
#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (normal_batch);
#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 7323 "PhotoPage.c"
	}
#line 1005 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = next_source;
#line 1005 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PHOTO, Photo));
#line 1005 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	next = _tmp12_;
#line 1006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = prev_source;
#line 1006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO, Photo));
#line 1006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	prev = _tmp14_;
#line 7337 "PhotoPage.c"
	{
		GeeIterator* _neighbor_source_it = NULL;
		ViewCollection* _tmp15_ = NULL;
		Photo* _tmp16_ = NULL;
		GeeSet* _tmp17_ = NULL;
		GeeSet* _tmp18_ = NULL;
		GeeIterator* _tmp19_ = NULL;
		GeeIterator* _tmp20_ = NULL;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = controller;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = photo;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = view_collection_get_extended_neighbors (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME);
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = _tmp17_;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable));
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp19_;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp18_);
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_neighbor_source_it = _tmp20_;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		while (TRUE) {
#line 7364 "PhotoPage.c"
			GeeIterator* _tmp21_ = NULL;
			gboolean _tmp22_ = FALSE;
			DataSource* neighbor_source = NULL;
			GeeIterator* _tmp23_ = NULL;
			gpointer _tmp24_ = NULL;
			Photo* neighbor = NULL;
			DataSource* _tmp25_ = NULL;
			Photo* _tmp26_ = NULL;
			BackgroundJobJobPriority priority = 0;
			gboolean _tmp27_ = FALSE;
			Photo* _tmp28_ = NULL;
			Photo* _tmp29_ = NULL;
			gboolean _tmp30_ = FALSE;
			PixbufCachePixbufCacheBatch* _tmp34_ = NULL;
			BackgroundJobJobPriority _tmp35_ = 0;
			Photo* _tmp36_ = NULL;
			PixbufCachePixbufCacheBatch* _tmp37_ = NULL;
			Photo* _tmp38_ = NULL;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp21_ = _neighbor_source_it;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp22_ = gee_iterator_next (_tmp21_);
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (!_tmp22_) {
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 7391 "PhotoPage.c"
			}
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp23_ = _neighbor_source_it;
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp24_ = gee_iterator_get (_tmp23_);
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			neighbor_source = (DataSource*) _tmp24_;
#line 1010 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp25_ = neighbor_source;
#line 1010 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_PHOTO, Photo));
#line 1010 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			neighbor = _tmp26_;
#line 1012 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			priority = BACKGROUND_JOB_JOB_PRIORITY_NORMAL;
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp28_ = neighbor;
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp29_ = next;
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp30_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_SOURCE, DataSource));
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp30_) {
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp27_ = TRUE;
#line 7417 "PhotoPage.c"
			} else {
				Photo* _tmp31_ = NULL;
				Photo* _tmp32_ = NULL;
				gboolean _tmp33_ = FALSE;
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp31_ = neighbor;
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp32_ = prev;
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp33_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_SOURCE, DataSource));
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp27_ = _tmp33_;
#line 7430 "PhotoPage.c"
			}
#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp27_) {
#line 1014 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				priority = BACKGROUND_JOB_JOB_PRIORITY_HIGH;
#line 7436 "PhotoPage.c"
			}
#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp34_ = normal_batch;
#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp35_ = priority;
#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp36_ = neighbor;
#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) _tmp35_), _tmp36_);
#line 1017 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp37_ = master_batch;
#line 1017 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp38_ = neighbor;
#line 1017 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) BACKGROUND_JOB_JOB_PRIORITY_LOWEST), _tmp38_);
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (neighbor);
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (neighbor_source);
#line 7456 "PhotoPage.c"
		}
#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_neighbor_source_it);
#line 7460 "PhotoPage.c"
	}
#line 1020 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp39_ = self->priv->cache;
#line 1020 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp40_ = normal_batch;
#line 1020 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixbuf_cache_prefetch_batch (_tmp39_, _tmp40_, FALSE);
#line 1021 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_ = self->priv->master_cache;
#line 1021 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp42_ = master_batch;
#line 1021 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixbuf_cache_prefetch_batch (_tmp41_, _tmp42_, FALSE);
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (prev);
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (next);
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (prev_source);
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (next_source);
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (master_batch);
#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (normal_batch);
#line 7486 "PhotoPage.c"
}


static void editing_host_page_cancel_prefetch_neighbors (EditingHostPage* self, ViewCollection* old_controller, Photo* old_photo, ViewCollection* new_controller, Photo* new_photo) {
	GeeSet* old_neighbors = NULL;
	ViewCollection* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	GeeSet* _tmp2_ = NULL;
	GeeSet* new_neighbors = NULL;
	ViewCollection* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	GeeSet* _tmp5_ = NULL;
	gboolean _tmp23_ = FALSE;
	GeeSet* _tmp24_ = NULL;
	Photo* _tmp25_ = NULL;
	gboolean _tmp26_ = FALSE;
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_VIEW_COLLECTION (old_controller));
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (old_photo));
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_VIEW_COLLECTION (new_controller));
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (new_photo));
#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = old_controller;
#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = old_photo;
#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_extended_neighbors (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME);
#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	old_neighbors = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_SET, GeeSet);
#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = new_controller;
#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = new_photo;
#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = view_collection_get_extended_neighbors (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME);
#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	new_neighbors = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_SET, GeeSet);
#line 7529 "PhotoPage.c"
	{
		GeeIterator* _old_neighbor_it = NULL;
		GeeSet* _tmp6_ = NULL;
		GeeIterator* _tmp7_ = NULL;
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = old_neighbors;
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable));
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_old_neighbor_it = _tmp7_;
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		while (TRUE) {
#line 7542 "PhotoPage.c"
			GeeIterator* _tmp8_ = NULL;
			gboolean _tmp9_ = FALSE;
			Photo* old_neighbor = NULL;
			GeeIterator* _tmp10_ = NULL;
			gpointer _tmp11_ = NULL;
			gboolean _tmp12_ = FALSE;
			GeeSet* _tmp13_ = NULL;
			Photo* _tmp14_ = NULL;
			gboolean _tmp15_ = FALSE;
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = _old_neighbor_it;
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = gee_iterator_next (_tmp8_);
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (!_tmp9_) {
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 7560 "PhotoPage.c"
			}
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp10_ = _old_neighbor_it;
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp11_ = gee_iterator_get (_tmp10_);
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			old_neighbor = (Photo*) _tmp11_;
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = new_neighbors;
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = old_neighbor;
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp15_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), _tmp14_);
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (!_tmp15_) {
#line 7576 "PhotoPage.c"
				Photo* _tmp16_ = NULL;
				Photo* _tmp17_ = NULL;
				gboolean _tmp18_ = FALSE;
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp16_ = new_photo;
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp17_ = old_neighbor;
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp18_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource));
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp12_ = !_tmp18_;
#line 7588 "PhotoPage.c"
			} else {
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp12_ = FALSE;
#line 7592 "PhotoPage.c"
			}
#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp12_) {
#line 7596 "PhotoPage.c"
				PixbufCache* _tmp19_ = NULL;
				Photo* _tmp20_ = NULL;
				PixbufCache* _tmp21_ = NULL;
				Photo* _tmp22_ = NULL;
#line 1037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp19_ = self->priv->cache;
#line 1037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp20_ = old_neighbor;
#line 1037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				pixbuf_cache_drop (_tmp19_, _tmp20_);
#line 1038 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp21_ = self->priv->master_cache;
#line 1038 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp22_ = old_neighbor;
#line 1038 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				pixbuf_cache_drop (_tmp21_, _tmp22_);
#line 7613 "PhotoPage.c"
			}
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (old_neighbor);
#line 7617 "PhotoPage.c"
		}
#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_old_neighbor_it);
#line 7621 "PhotoPage.c"
	}
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = new_neighbors;
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = old_photo;
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_);
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp26_) {
#line 7631 "PhotoPage.c"
		Photo* _tmp27_ = NULL;
		Photo* _tmp28_ = NULL;
		gboolean _tmp29_ = FALSE;
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp27_ = new_photo;
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = old_photo;
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_SOURCE, DataSource));
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = !_tmp29_;
#line 7643 "PhotoPage.c"
	} else {
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = FALSE;
#line 7647 "PhotoPage.c"
	}
#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp23_) {
#line 7651 "PhotoPage.c"
		PixbufCache* _tmp30_ = NULL;
		Photo* _tmp31_ = NULL;
		PixbufCache* _tmp32_ = NULL;
		Photo* _tmp33_ = NULL;
#line 1044 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = self->priv->cache;
#line 1044 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = old_photo;
#line 1044 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixbuf_cache_drop (_tmp30_, _tmp31_);
#line 1045 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = self->priv->master_cache;
#line 1045 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp33_ = old_photo;
#line 1045 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixbuf_cache_drop (_tmp32_, _tmp33_);
#line 7668 "PhotoPage.c"
	}
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (new_neighbors);
#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (old_neighbors);
#line 7674 "PhotoPage.c"
}


static DataView* editing_host_page_real_create_photo_view (EditingHostPage* self, DataSource* source) {
	DataView* result = NULL;
	DataSource* _tmp0_ = NULL;
	PhotoView* _tmp1_ = NULL;
#line 1049 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_DATA_SOURCE (source), NULL);
#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = source;
#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = photo_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_SOURCE, PhotoSource));
#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView);
#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 7692 "PhotoPage.c"
}


DataView* editing_host_page_create_photo_view (EditingHostPage* self, DataSource* source) {
#line 1049 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 1049 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->create_photo_view (self, source);
#line 7701 "PhotoPage.c"
}


static gboolean editing_host_page_is_photo (EditingHostPage* self, DataSource* source) {
	gboolean result = FALSE;
	DataSource* _tmp0_ = NULL;
#line 1053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE);
#line 1054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = source;
#line 1054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO_SOURCE);
#line 1054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 7718 "PhotoPage.c"
}


static DataView* _editing_host_page_create_photo_view_create_view (DataSource* source, gpointer self) {
	DataView* result;
	result = editing_host_page_create_photo_view ((EditingHostPage*) self, source);
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 7727 "PhotoPage.c"
}


static gboolean _editing_host_page_is_photo_create_view_predicate (DataSource* source, gpointer self) {
	gboolean result;
	result = editing_host_page_is_photo ((EditingHostPage*) self, source);
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 7736 "PhotoPage.c"
}


void editing_host_page_display_copy_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo) {
	ViewCollection* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	DataView* _tmp2_ = NULL;
	DataView* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	ViewCollection* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	Photo* _tmp18_ = NULL;
#line 1057 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1057 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_VIEW_COLLECTION (controller));
#line 1057 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (starting_photo));
#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = controller;
#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = starting_photo;
#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource));
#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp3_ != NULL, "controller.get_view_for_source(starting_photo) != null");
#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = controller;
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp5_ != _tmp7_;
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp7_);
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp8_) {
#line 7781 "PhotoPage.c"
		ViewCollection* _tmp9_ = NULL;
		ViewCollection* _tmp10_ = NULL;
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = controller;
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = self->priv->parent_view;
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp9_ != _tmp10_;
#line 7790 "PhotoPage.c"
	} else {
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = FALSE;
#line 7794 "PhotoPage.c"
	}
#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 7798 "PhotoPage.c"
		ViewCollection* _tmp11_ = NULL;
		ViewCollection* _tmp12_ = NULL;
		ViewCollection* _tmp13_ = NULL;
		ViewCollection* _tmp14_ = NULL;
		ViewCollection* _tmp15_ = NULL;
		ViewCollection* _tmp16_ = NULL;
		ViewCollection* _tmp17_ = NULL;
#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection));
#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp12_);
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_;
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = controller;
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_collection_copy_into (_tmp14_, _tmp15_, _editing_host_page_create_photo_view_create_view, self, _editing_host_page_is_photo_create_view_predicate, self);
#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp14_);
#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = controller;
#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = _data_collection_ref0 (_tmp16_);
#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (self->priv->parent_view);
#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->parent_view = _tmp17_;
#line 7832 "PhotoPage.c"
	}
#line 1066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = starting_photo;
#line 1066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_replace_photo (self, _tmp18_);
#line 7838 "PhotoPage.c"
}


void editing_host_page_display_mirror_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo) {
	ViewCollection* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	DataView* _tmp2_ = NULL;
	DataView* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	ViewCollection* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	Photo* _tmp18_ = NULL;
#line 1069 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1069 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_VIEW_COLLECTION (controller));
#line 1069 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (starting_photo));
#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = controller;
#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = starting_photo;
#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource));
#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp3_ != NULL, "controller.get_view_for_source(starting_photo) != null");
#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = controller;
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp5_ != _tmp7_;
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp7_);
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp8_) {
#line 7883 "PhotoPage.c"
		ViewCollection* _tmp9_ = NULL;
		ViewCollection* _tmp10_ = NULL;
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = controller;
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = self->priv->parent_view;
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp9_ != _tmp10_;
#line 7892 "PhotoPage.c"
	} else {
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = FALSE;
#line 7896 "PhotoPage.c"
	}
#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 7900 "PhotoPage.c"
		ViewCollection* _tmp11_ = NULL;
		ViewCollection* _tmp12_ = NULL;
		ViewCollection* _tmp13_ = NULL;
		ViewCollection* _tmp14_ = NULL;
		ViewCollection* _tmp15_ = NULL;
		ViewCollection* _tmp16_ = NULL;
		ViewCollection* _tmp17_ = NULL;
#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection));
#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp12_);
#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_;
#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = controller;
#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		view_collection_mirror (_tmp14_, _tmp15_, _editing_host_page_create_photo_view_create_view, self, _editing_host_page_is_photo_create_view_predicate, self);
#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp14_);
#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = controller;
#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = _data_collection_ref0 (_tmp16_);
#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (self->priv->parent_view);
#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->parent_view = _tmp17_;
#line 7934 "PhotoPage.c"
	}
#line 1078 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = starting_photo;
#line 1078 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_replace_photo (self, _tmp18_);
#line 7940 "PhotoPage.c"
}


static void editing_host_page_real_update_ui (EditingHostPage* self, gboolean missing) {
	gboolean sensitivity = FALSE;
	gboolean _tmp0_ = FALSE;
	GtkToolButton* _tmp1_ = NULL;
	GtkToggleToolButton* _tmp2_ = NULL;
	GtkToggleToolButton* _tmp3_ = NULL;
	GtkToggleToolButton* _tmp4_ = NULL;
	GtkToggleToolButton* _tmp5_ = NULL;
	GtkToolButton* _tmp6_ = NULL;
	GtkScale* _tmp7_ = NULL;
	Dimensions _tmp8_ = {0};
#line 1082 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = missing;
#line 1082 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	sensitivity = !_tmp0_;
#line 1084 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->rotate_button;
#line 1084 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1085 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->crop_button;
#line 1085 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1086 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->straighten_button;
#line 1086 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1087 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = self->priv->redeye_button;
#line 1087 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1088 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = self->priv->adjust_button;
#line 1088 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1089 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->enhance_button;
#line 1089 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1090 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = self->priv->zoom_slider;
#line 1090 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), sensitivity);
#line 1092 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp8_, 0, 0);
#line 1092 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp8_, FALSE);
#line 7991 "PhotoPage.c"
}


void editing_host_page_update_ui (EditingHostPage* self, gboolean missing) {
#line 1081 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1081 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_GET_CLASS (self)->update_ui (self, missing);
#line 8000 "PhotoPage.c"
}


static void editing_host_page_real_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing) {
#line 1096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (photo));
#line 8007 "PhotoPage.c"
}


void editing_host_page_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing) {
#line 1096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_GET_CLASS (self)->notify_photo_backing_missing (self, photo, missing);
#line 8016 "PhotoPage.c"
}


static void editing_host_page_draw_message (EditingHostPage* self, const gchar* message) {
	PangoLayout* pango_layout = NULL;
	const gchar* _tmp0_ = NULL;
	PangoLayout* _tmp1_ = NULL;
	gint text_width = 0;
	gint text_height = 0;
	PangoLayout* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gint _tmp4_ = 0;
	GtkAllocation allocation = {0};
	GtkAllocation _tmp5_ = {0};
	gint x = 0;
	GtkAllocation _tmp6_ = {0};
	gint _tmp7_ = 0;
	gint _tmp8_ = 0;
	gint _tmp9_ = 0;
	gint _tmp10_ = 0;
	gint y = 0;
	GtkAllocation _tmp12_ = {0};
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	gint _tmp15_ = 0;
	gint _tmp16_ = 0;
	PangoLayout* _tmp18_ = NULL;
	gint _tmp19_ = 0;
	gint _tmp20_ = 0;
#line 1099 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1099 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (message != NULL);
#line 1101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = message;
#line 1101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = gtk_widget_create_pango_layout (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp0_);
#line 1101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pango_layout = _tmp1_;
#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = pango_layout;
#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pango_layout_get_pixel_size (_tmp2_, &_tmp3_, &_tmp4_);
#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	text_width = _tmp3_;
#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	text_height = _tmp4_;
#line 1106 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp5_);
#line 1106 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	allocation = _tmp5_;
#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = allocation;
#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_.width;
#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = text_width;
#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	x = _tmp7_ - _tmp8_;
#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = x;
#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_ > 0) {
#line 8080 "PhotoPage.c"
		gint _tmp11_ = 0;
#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = x;
#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = _tmp11_ / 2;
#line 8086 "PhotoPage.c"
	} else {
#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = 0;
#line 8090 "PhotoPage.c"
	}
#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	x = _tmp9_;
#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = allocation;
#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = _tmp12_.height;
#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = text_height;
#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	y = _tmp13_ - _tmp14_;
#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = y;
#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp16_ > 0) {
#line 8106 "PhotoPage.c"
		gint _tmp17_ = 0;
#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = y;
#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = _tmp17_ / 2;
#line 8112 "PhotoPage.c"
	} else {
#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = 0;
#line 8116 "PhotoPage.c"
	}
#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	y = _tmp15_;
#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = pango_layout;
#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = x;
#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = y;
#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_paint_text (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp18_, _tmp19_, _tmp20_);
#line 1099 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (pango_layout);
#line 8130 "PhotoPage.c"
}


void editing_host_page_set_photo_missing (EditingHostPage* self, gboolean missing) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	Photo* photo = NULL;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1118 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->photo_missing;
#line 1119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = missing;
#line 1119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == _tmp1_) {
#line 1120 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 8154 "PhotoPage.c"
	}
#line 1122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = missing;
#line 1122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->photo_missing = _tmp2_;
#line 1124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (self);
#line 1124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = _tmp3_;
#line 1125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = photo;
#line 1125 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_ == NULL) {
#line 1126 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo);
#line 1126 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 8172 "PhotoPage.c"
	}
#line 1128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = missing;
#line 1128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_ui (self, _tmp5_);
#line 1130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->photo_missing;
#line 1130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_) {
#line 8182 "PhotoPage.c"
		{
			GdkPixbuf* pixbuf = NULL;
			Photo* _tmp7_ = NULL;
			Scaling _tmp8_ = {0};
			GdkPixbuf* _tmp9_ = NULL;
			GdkPixbuf* _tmp10_ = NULL;
			GdkPixbuf* _tmp11_ = NULL;
			gint _tmp12_ = 0;
			GdkPixbuf* _tmp13_ = NULL;
			gint _tmp14_ = 0;
			GdkPixbuf* _tmp15_ = NULL;
			GdkPixbuf* _tmp16_ = NULL;
			Photo* _tmp17_ = NULL;
			Dimensions _tmp18_ = {0};
#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = photo;
#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_);
#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = media_source_get_preview_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp8_, &_inner_error_);
#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			pixbuf = _tmp9_;
#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8207 "PhotoPage.c"
				goto __catch232_g_error;
			}
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp10_ = pixbuf;
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp11_ = pixbuf;
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp12_ = gdk_pixbuf_get_width (_tmp11_);
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = pixbuf;
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = gdk_pixbuf_get_height (_tmp13_);
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp15_ = gdk_pixbuf_composite_color_simple (_tmp10_, _tmp12_, _tmp14_, GDK_INTERP_NEAREST, 100, 2, (guint32) 0, (guint32) 0);
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (pixbuf);
#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			pixbuf = _tmp15_;
#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp16_ = pixbuf;
#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp17_ = photo;
#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp18_);
#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp16_, &_tmp18_, NULL);
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (pixbuf);
#line 8236 "PhotoPage.c"
		}
		goto __finally232;
		__catch232_g_error:
		{
			GError* err = NULL;
			GdkPixbuf* _tmp19_ = NULL;
			GdkPixbuf* _tmp20_ = NULL;
			Photo* _tmp21_ = NULL;
			Dimensions _tmp22_ = {0};
			GError* _tmp23_ = NULL;
			const gchar* _tmp24_ = NULL;
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			err = _inner_error_;
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_inner_error_ = NULL;
#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp19_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 1, 1);
#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp20_ = _tmp19_;
#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp21_ = photo;
#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp22_);
#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp20_, &_tmp22_, NULL);
#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp20_);
#line 1140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp23_ = err;
#line 1140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp24_ = _tmp23_->message;
#line 1140 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			g_warning ("PhotoPage.vala:1140: %s", _tmp24_);
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_error_free0 (err);
#line 8272 "PhotoPage.c"
		}
		__finally232:
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (photo);
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.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 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			g_clear_error (&_inner_error_);
#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return;
#line 8285 "PhotoPage.c"
		}
	}
#line 1118 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 8290 "PhotoPage.c"
}


gboolean editing_host_page_get_photo_missing (EditingHostPage* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 1145 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1146 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->photo_missing;
#line 1146 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp0_;
#line 1146 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 8305 "PhotoPage.c"
}


static gboolean editing_host_page_real_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo) {
	gboolean result = FALSE;
#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail ((old_photo == NULL) || IS_PHOTO (old_photo), FALSE);
#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (new_photo), FALSE);
#line 1150 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 1150 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 8319 "PhotoPage.c"
}


gboolean editing_host_page_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo) {
#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->confirm_replace_photo (self, old_photo, new_photo);
#line 8328 "PhotoPage.c"
}


static GdkPixbuf* editing_host_page_get_zoom_pixbuf (EditingHostPage* self, Photo* new_photo) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* pixbuf = NULL;
	PixbufCache* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	GdkPixbuf* _tmp2_ = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	GdkPixbuf* _tmp11_ = NULL;
	GError * _inner_error_ = NULL;
#line 1153 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 1153 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (new_photo), NULL);
#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->cache;
#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = new_photo;
#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = pixbuf_cache_get_ready_pixbuf (_tmp0_, _tmp1_);
#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixbuf = _tmp2_;
#line 1155 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = pixbuf;
#line 1155 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ == NULL) {
#line 8357 "PhotoPage.c"
		{
			GdkPixbuf* _tmp4_ = NULL;
			Photo* _tmp5_ = NULL;
			Scaling _tmp6_ = {0};
			GdkPixbuf* _tmp7_ = NULL;
			GdkPixbuf* _tmp8_ = NULL;
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp5_ = new_photo;
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp6_);
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = media_source_get_preview_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp6_, &_inner_error_);
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp4_ = _tmp7_;
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8374 "PhotoPage.c"
				goto __catch233_g_error;
			}
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = _tmp4_;
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp4_ = NULL;
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (pixbuf);
#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			pixbuf = _tmp8_;
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp4_);
#line 8387 "PhotoPage.c"
		}
		goto __finally233;
		__catch233_g_error:
		{
			GError* err = NULL;
			GError* _tmp9_ = NULL;
			const gchar* _tmp10_ = NULL;
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			err = _inner_error_;
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_inner_error_ = NULL;
#line 1159 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = err;
#line 1159 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp10_ = _tmp9_->message;
#line 1159 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			g_warning ("PhotoPage.vala:1159: %s", _tmp10_);
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_error_free0 (err);
#line 8407 "PhotoPage.c"
		}
		__finally233:
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (pixbuf);
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.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 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			g_clear_error (&_inner_error_);
#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return NULL;
#line 8420 "PhotoPage.c"
		}
	}
#line 1162 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = pixbuf;
#line 1162 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp11_ == NULL) {
#line 8427 "PhotoPage.c"
		GdkPixbuf* _tmp12_ = NULL;
		Scaling _tmp13_ = {0};
		GdkPixbuf* _tmp14_ = NULL;
		GdkPixbuf* _tmp15_ = NULL;
		GdkPixbuf* _tmp16_ = NULL;
#line 1163 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = get_placeholder_pixbuf ();
#line 1163 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (pixbuf);
#line 1163 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixbuf = _tmp12_;
#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp13_);
#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = pixbuf;
#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = scaling_perform_on_pixbuf (&_tmp13_, _tmp14_, GDK_INTERP_NEAREST, TRUE);
#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp16_);
#line 8449 "PhotoPage.c"
	}
#line 1166 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = pixbuf;
#line 1166 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 8455 "PhotoPage.c"
}


static void editing_host_page_replace_photo (EditingHostPage* self, Photo* new_photo) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp14_ = FALSE;
	gboolean _tmp15_ = FALSE;
	gboolean _tmp16_ = FALSE;
	Dimensions _tmp26_ = {0};
	Photo* old_photo = NULL;
	Photo* _tmp27_ = NULL;
	Photo* _tmp28_ = NULL;
	Photo* _tmp29_ = NULL;
	gchar* _tmp30_ = NULL;
	gchar* _tmp31_ = NULL;
	Photo* _tmp32_ = NULL;
	GFile* _tmp33_ = NULL;
	GFile* _tmp34_ = NULL;
	gboolean _tmp35_ = FALSE;
	Photo* _tmp36_ = NULL;
	Photo* _tmp43_ = NULL;
	Photo* _tmp44_ = NULL;
	GdkPixbuf* _tmp45_ = NULL;
	GdkPixbuf* _tmp46_ = NULL;
	ZoomBuffer* _tmp47_ = NULL;
#line 1169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (new_photo));
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = new_photo;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (self);
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource));
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp4_);
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_) {
#line 8505 "PhotoPage.c"
		gboolean _tmp7_ = FALSE;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = self->priv->pixbuf_dirty;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = !_tmp7_;
#line 8511 "PhotoPage.c"
	} else {
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = FALSE;
#line 8515 "PhotoPage.c"
	}
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 8519 "PhotoPage.c"
		gboolean _tmp8_ = FALSE;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = self->priv->photo_missing;
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp8_;
#line 8525 "PhotoPage.c"
	} else {
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 8529 "PhotoPage.c"
	}
#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 8533 "PhotoPage.c"
		Photo* _tmp9_ = NULL;
		Photo* _tmp10_ = NULL;
		GdkPixbuf* _tmp11_ = NULL;
		GdkPixbuf* _tmp12_ = NULL;
		ZoomBuffer* _tmp13_ = NULL;
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = new_photo;
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = new_photo;
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = editing_host_page_get_zoom_pixbuf (self, _tmp10_);
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = zoom_buffer_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp9_, _tmp12_);
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (self->priv->zoom_buffer);
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->zoom_buffer = _tmp13_;
#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp12_);
#line 1176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 8557 "PhotoPage.c"
	}
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = editing_host_page_has_photo (self);
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp16_) {
#line 8563 "PhotoPage.c"
		Photo* _tmp17_ = NULL;
		Photo* _tmp18_ = NULL;
		Photo* _tmp19_ = NULL;
		gboolean _tmp20_ = FALSE;
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = new_photo;
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = editing_host_page_get_photo (self);
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_SOURCE, DataSource));
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = !_tmp20_;
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp19_);
#line 8580 "PhotoPage.c"
	} else {
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = FALSE;
#line 8584 "PhotoPage.c"
	}
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp15_) {
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = editing_host_page_confirm_replace_photo != NULL;
#line 8590 "PhotoPage.c"
	} else {
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = FALSE;
#line 8594 "PhotoPage.c"
	}
#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp14_) {
#line 8598 "PhotoPage.c"
		Photo* _tmp21_ = NULL;
		Photo* _tmp22_ = NULL;
		Photo* _tmp23_ = NULL;
		gboolean _tmp24_ = FALSE;
		gboolean _tmp25_ = FALSE;
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = editing_host_page_get_photo (self);
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = _tmp21_;
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = new_photo;
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = editing_host_page_confirm_replace_photo (self, _tmp22_, _tmp23_);
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = !_tmp24_;
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp22_);
#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp25_) {
#line 1182 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return;
#line 8620 "PhotoPage.c"
		}
	}
#line 1185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp26_, 0, 0);
#line 1185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp26_, FALSE);
#line 1188 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = editing_host_page_get_photo (self);
#line 1188 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	old_photo = _tmp27_;
#line 1189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = new_photo;
#line 1189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_set_photo (self, _tmp28_);
#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = new_photo;
#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject));
#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = _tmp30_;
#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp31_);
#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp31_);
#line 1193 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->swapped);
#line 1193 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->swapped = NULL;
#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp32_ = new_photo;
#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp34_ = _tmp33_;
#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_ = g_file_query_exists (_tmp34_, NULL);
#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_set_photo_missing (self, !_tmp35_);
#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp34_);
#line 1197 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->pixbuf_dirty = TRUE;
#line 1201 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rebuild_caches (self, "replace_photo");
#line 1203 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp36_ = old_photo;
#line 1203 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp36_ != NULL) {
#line 8669 "PhotoPage.c"
		ViewCollection* _tmp37_ = NULL;
		ViewCollection* _tmp38_ = NULL;
		Photo* _tmp39_ = NULL;
		ViewCollection* _tmp40_ = NULL;
		ViewCollection* _tmp41_ = NULL;
		Photo* _tmp42_ = NULL;
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp38_ = _tmp37_;
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp39_ = old_photo;
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp40_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp41_ = _tmp40_;
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp42_ = new_photo;
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_cancel_prefetch_neighbors (self, _tmp38_, _tmp39_, _tmp41_, _tmp42_);
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp41_);
#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp38_);
#line 8694 "PhotoPage.c"
	}
#line 1206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp43_ = new_photo;
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_ = new_photo;
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp45_ = editing_host_page_get_zoom_pixbuf (self, _tmp44_);
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp46_ = _tmp45_;
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_ = zoom_buffer_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp43_, _tmp46_);
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->zoom_buffer);
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->zoom_buffer = _tmp47_;
#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp46_);
#line 1210 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_quick_update_pixbuf (self);
#line 1213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_refresh_caches (self, "replace_photo");
#line 1169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (old_photo);
#line 8720 "PhotoPage.c"
}


static void editing_host_page_real_cancel_zoom (SinglePhotoPage* base) {
	EditingHostPage * self;
	GtkScale* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	GtkScale* _tmp2_ = NULL;
	GtkScale* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	Photo* _tmp5_ = NULL;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp12_ = FALSE;
	GtkDrawingArea* _tmp13_ = NULL;
#line 1216 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->zoom_slider;
#line 1219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp1_, NULL, FALSE);
#line 1219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self);
#line 1220 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->zoom_slider;
#line 1220 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), 0.0);
#line 1221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->zoom_slider;
#line 1221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0);
#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = editing_host_page_get_photo (self);
#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_ != NULL;
#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp5_);
#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_) {
#line 8763 "PhotoPage.c"
		Photo* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		Dimensions _tmp9_ = {0};
		Dimensions _tmp10_ = {0};
		ZoomState _tmp11_ = {0};
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = editing_host_page_get_photo (self);
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp9_);
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp10_);
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoom_state_init (&_tmp11_, &_tmp9_, &_tmp10_, 0.0, NULL);
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp11_);
#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 8783 "PhotoPage.c"
	}
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->canvas;
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp13_ != NULL) {
#line 8789 "PhotoPage.c"
		GtkDrawingArea* _tmp14_ = NULL;
		GdkWindow* _tmp15_ = NULL;
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->canvas;
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget));
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp15_ != NULL;
#line 8798 "PhotoPage.c"
	} else {
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = FALSE;
#line 8802 "PhotoPage.c"
	}
#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp12_) {
#line 1231 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_page_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), GDK_LEFT_PTR);
#line 8808 "PhotoPage.c"
	}
#line 1233 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 8812 "PhotoPage.c"
}


static void editing_host_page_quick_update_pixbuf (EditingHostPage* self) {
	GdkPixbuf* pixbuf = NULL;
	PixbufCache* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	GdkPixbuf* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	Scaling scaling = {0};
	Scaling _tmp10_ = {0};
	Photo* _tmp11_ = NULL;
	Photo* _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	gchar* _tmp16_ = NULL;
	PixbufCache* _tmp28_ = NULL;
	Photo* _tmp29_ = NULL;
	Photo* _tmp30_ = NULL;
	GError * _inner_error_ = NULL;
#line 1236 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->cache;
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_get_photo (self);
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = pixbuf_cache_get_ready_pixbuf (_tmp0_, _tmp2_);
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixbuf = _tmp4_;
#line 1238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = pixbuf;
#line 1238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_ != NULL) {
#line 8856 "PhotoPage.c"
		GdkPixbuf* _tmp6_ = NULL;
		Photo* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		Dimensions _tmp9_ = {0};
#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = pixbuf;
#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = editing_host_page_get_photo (self);
#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp9_);
#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp6_, &_tmp9_, NULL);
#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 1240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->pixbuf_dirty = FALSE;
#line 1242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (pixbuf);
#line 1242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 8879 "PhotoPage.c"
	}
#line 1245 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp10_);
#line 1245 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scaling = _tmp10_;
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = editing_host_page_get_photo (self);
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject));
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = scaling_to_string (&scaling);
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = _tmp15_;
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_debug ("PhotoPage.vala:1247: Using progressive load for %s (%s)", _tmp14_, _tmp16_);
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp16_);
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp14_);
#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp12_);
#line 8905 "PhotoPage.c"
	{
		GdkPixbuf* _tmp17_ = NULL;
		Photo* _tmp18_ = NULL;
		Photo* _tmp19_ = NULL;
		Scaling _tmp20_ = {0};
		GdkPixbuf* _tmp21_ = NULL;
		GdkPixbuf* _tmp22_ = NULL;
		Photo* _tmp23_ = NULL;
		Photo* _tmp24_ = NULL;
		Dimensions _tmp25_ = {0};
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = editing_host_page_get_photo (self);
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = scaling;
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = media_source_get_preview_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp20_, &_inner_error_);
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = _tmp21_;
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp19_);
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = _tmp22_;
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8932 "PhotoPage.c"
			goto __catch234_g_error;
		}
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = editing_host_page_get_photo (self);
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = _tmp23_;
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp25_);
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp17_, &_tmp25_, NULL);
#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp24_);
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp17_);
#line 8947 "PhotoPage.c"
	}
	goto __finally234;
	__catch234_g_error:
	{
		GError* err = NULL;
		GError* _tmp26_ = NULL;
		const gchar* _tmp27_ = NULL;
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 1254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = err;
#line 1254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp27_ = _tmp26_->message;
#line 1254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_warning ("PhotoPage.vala:1254: %s", _tmp27_);
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 8967 "PhotoPage.c"
	}
	__finally234:
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (pixbuf);
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.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 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 8980 "PhotoPage.c"
	}
#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = self->priv->cache;
#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = editing_host_page_get_photo (self);
#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = _tmp29_;
#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixbuf_cache_prefetch (_tmp28_, _tmp30_, BACKGROUND_JOB_JOB_PRIORITY_HIGHEST, FALSE);
#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp30_);
#line 1261 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->pixbuf_dirty = FALSE;
#line 1236 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (pixbuf);
#line 8996 "PhotoPage.c"
}


static gboolean editing_host_page_update_pixbuf (EditingHostPage* self) {
	gboolean result = FALSE;
	Photo* photo = NULL;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	GdkPixbuf* pixbuf = NULL;
	Dimensions max_dim = {0};
	Photo* _tmp2_ = NULL;
	Dimensions _tmp3_ = {0};
	gboolean _tmp17_ = FALSE;
	gboolean _tmp25_ = FALSE;
	gboolean _tmp26_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1269 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (self);
#line 1269 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = _tmp0_;
#line 1270 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = photo;
#line 1270 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == NULL) {
#line 1271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = FALSE;
#line 1271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo);
#line 1271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 9029 "PhotoPage.c"
	}
#line 1273 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixbuf = NULL;
#line 1274 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = photo;
#line 1274 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp3_);
#line 1274 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	max_dim = _tmp3_;
#line 9039 "PhotoPage.c"
	{
		Dimensions tool_pixbuf_dim = {0};
		Dimensions _tmp4_ = {0};
		EditingToolsEditingTool* _tmp5_ = NULL;
		GdkPixbuf* _tmp13_ = NULL;
#line 1277 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_.width = 0;
#line 1277 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		tool_pixbuf_dim = _tmp4_;
#line 1278 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = self->priv->current_tool;
#line 1278 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp5_ != NULL) {
#line 9053 "PhotoPage.c"
			GdkPixbuf* _tmp6_ = NULL;
			EditingToolsEditingTool* _tmp7_ = NULL;
			Scaling _tmp8_ = {0};
			Photo* _tmp9_ = NULL;
			Dimensions _tmp10_ = {0};
			GdkPixbuf* _tmp11_ = NULL;
			GdkPixbuf* _tmp12_ = NULL;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = self->priv->current_tool;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_);
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = photo;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp11_ = editing_tools_editing_tool_get_display_pixbuf (_tmp7_, &_tmp8_, _tmp9_, &_tmp10_, &_inner_error_);
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			tool_pixbuf_dim = _tmp10_;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = _tmp11_;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 9075 "PhotoPage.c"
				goto __catch235_g_error;
			}
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp12_ = _tmp6_;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = NULL;
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (pixbuf);
#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			pixbuf = _tmp12_;
#line 1278 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp6_);
#line 9088 "PhotoPage.c"
		}
#line 1281 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = pixbuf;
#line 1281 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp13_ != NULL) {
#line 9094 "PhotoPage.c"
			Dimensions _tmp14_ = {0};
#line 1282 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = tool_pixbuf_dim;
#line 1282 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			max_dim = _tmp14_;
#line 9100 "PhotoPage.c"
		}
	}
	goto __finally235;
	__catch235_g_error:
	{
		GError* err = NULL;
		GError* _tmp15_ = NULL;
		const gchar* _tmp16_ = NULL;
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 1284 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = err;
#line 1284 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_->message;
#line 1284 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_warning ("PhotoPage.vala:1284: %s", _tmp16_);
#line 1285 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_set_photo_missing (self, TRUE);
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 9123 "PhotoPage.c"
	}
	__finally235:
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (pixbuf);
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo);
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.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 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return FALSE;
#line 9138 "PhotoPage.c"
	}
#line 1288 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = self->priv->photo_missing;
#line 1288 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp17_) {
#line 9144 "PhotoPage.c"
		GdkPixbuf* _tmp18_ = NULL;
		GdkPixbuf* _tmp22_ = NULL;
#line 1290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = pixbuf;
#line 1290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp18_ == NULL) {
#line 9151 "PhotoPage.c"
			PixbufCache* _tmp19_ = NULL;
			Photo* _tmp20_ = NULL;
			GdkPixbuf* _tmp21_ = NULL;
#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp19_ = self->priv->cache;
#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp20_ = photo;
#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp21_ = pixbuf_cache_get_ready_pixbuf (_tmp19_, _tmp20_);
#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (pixbuf);
#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			pixbuf = _tmp21_;
#line 9165 "PhotoPage.c"
		}
#line 1294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = pixbuf;
#line 1294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp22_ == NULL) {
#line 9171 "PhotoPage.c"
			PixbufCache* _tmp23_ = NULL;
			Photo* _tmp24_ = NULL;
#line 1295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp23_ = self->priv->cache;
#line 1295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp24_ = photo;
#line 1295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			pixbuf_cache_prefetch (_tmp23_, _tmp24_, BACKGROUND_JOB_JOB_PRIORITY_NORMAL, FALSE);
#line 9180 "PhotoPage.c"
		}
	}
#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = self->priv->photo_missing;
#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp26_) {
#line 9187 "PhotoPage.c"
		GdkPixbuf* _tmp27_ = NULL;
#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp27_ = pixbuf;
#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = _tmp27_ != NULL;
#line 9193 "PhotoPage.c"
	} else {
#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = FALSE;
#line 9197 "PhotoPage.c"
	}
#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp25_) {
#line 9201 "PhotoPage.c"
		GdkPixbuf* _tmp28_ = NULL;
		Dimensions _tmp29_ = {0};
#line 1299 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = pixbuf;
#line 1299 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = max_dim;
#line 1299 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp28_, &_tmp29_, NULL);
#line 1300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->pixbuf_dirty = FALSE;
#line 9212 "PhotoPage.c"
	}
#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (pixbuf);
#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 9222 "PhotoPage.c"
}


static void editing_host_page_real_on_resize (Page* base, GdkRectangle* rect) {
	EditingHostPage * self;
	GdkRectangle _tmp0_ = {0};
#line 1310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (rect != NULL);
#line 1311 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = *rect;
#line 1311 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->on_resize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp0_);
#line 1313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_track_tool_window (self);
#line 9239 "PhotoPage.c"
}


static void editing_host_page_real_on_resize_finished (Page* base, GdkRectangle* rect) {
	EditingHostPage * self;
#line 1316 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1316 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (rect != NULL);
#line 1320 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rebuild_caches (self, "on_resize_finished");
#line 1321 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->pixbuf_dirty = TRUE;
#line 1323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_pixbuf (self);
#line 9255 "PhotoPage.c"
}


static void editing_host_page_on_viewport_resized (EditingHostPage* self) {
#line 1326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1329 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rebuild_caches (self, "on_viewport_resized");
#line 1330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->pixbuf_dirty = TRUE;
#line 1332 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_pixbuf (self);
#line 9268 "PhotoPage.c"
}


static void editing_host_page_real_update_actions (Page* base, gint selected_count, gint count) {
	EditingHostPage * self;
	gboolean multiple_photos = FALSE;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	GtkToolButton* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	GtkToolButton* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	Photo* photo = NULL;
	Photo* _tmp8_ = NULL;
	Scaling scaling = {0};
	Scaling _tmp9_ = {0};
	gboolean _tmp10_ = FALSE;
	gboolean _tmp11_ = FALSE;
	gboolean _tmp12_ = FALSE;
	Photo* _tmp13_ = NULL;
	GtkToolButton* _tmp19_ = NULL;
	gboolean _tmp20_ = FALSE;
	gboolean _tmp21_ = FALSE;
	Photo* _tmp22_ = NULL;
	GtkToggleToolButton* _tmp27_ = NULL;
	gboolean _tmp28_ = FALSE;
	gboolean _tmp29_ = FALSE;
	Photo* _tmp30_ = NULL;
	GtkToggleToolButton* _tmp35_ = NULL;
	gboolean _tmp36_ = FALSE;
	gboolean _tmp37_ = FALSE;
	Photo* _tmp38_ = NULL;
	GtkToggleToolButton* _tmp43_ = NULL;
	gboolean _tmp44_ = FALSE;
	gboolean _tmp45_ = FALSE;
	Photo* _tmp46_ = NULL;
	GtkToolButton* _tmp50_ = NULL;
	gboolean _tmp51_ = FALSE;
	gboolean _tmp52_ = FALSE;
	Photo* _tmp53_ = NULL;
	GtkToggleToolButton* _tmp58_ = NULL;
	gint _tmp59_ = 0;
	gint _tmp60_ = 0;
#line 1335 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_sources_of_type_count (_tmp1_, TYPE_PHOTO);
#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_ > 1;
#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	multiple_photos = _tmp3_;
#line 1338 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = self->priv->prev_button;
#line 1338 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = multiple_photos;
#line 1338 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), _tmp5_);
#line 1339 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->next_button;
#line 1339 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = multiple_photos;
#line 1339 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), _tmp7_);
#line 1341 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = editing_host_page_get_photo (self);
#line 1341 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = _tmp8_;
#line 1342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp9_);
#line 1342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scaling = _tmp9_;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = photo;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp13_ != NULL) {
#line 9352 "PhotoPage.c"
		gboolean _tmp14_ = FALSE;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = self->priv->photo_missing;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = !_tmp14_;
#line 9358 "PhotoPage.c"
	} else {
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = FALSE;
#line 9362 "PhotoPage.c"
	}
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp12_) {
#line 9366 "PhotoPage.c"
		Photo* _tmp15_ = NULL;
		gboolean _tmp16_ = FALSE;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = photo;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = photo_check_can_rotate (_tmp15_);
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = _tmp16_;
#line 9375 "PhotoPage.c"
	} else {
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = FALSE;
#line 9379 "PhotoPage.c"
	}
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp11_) {
#line 9383 "PhotoPage.c"
		Photo* _tmp17_ = NULL;
		gboolean _tmp18_ = FALSE;
#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = photo;
#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = editing_host_page_is_rotate_available (self, _tmp17_);
#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp18_;
#line 9392 "PhotoPage.c"
	} else {
#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = FALSE;
#line 9396 "PhotoPage.c"
	}
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = self->priv->rotate_button;
#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), _tmp10_);
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = photo;
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp22_ != NULL) {
#line 9406 "PhotoPage.c"
		gboolean _tmp23_ = FALSE;
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = self->priv->photo_missing;
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = !_tmp23_;
#line 9412 "PhotoPage.c"
	} else {
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = FALSE;
#line 9416 "PhotoPage.c"
	}
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp21_) {
#line 9420 "PhotoPage.c"
		Photo* _tmp24_ = NULL;
		Scaling _tmp25_ = {0};
		gboolean _tmp26_ = FALSE;
#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = photo;
#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = scaling;
#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = editing_tools_crop_tool_is_available (_tmp24_, &_tmp25_);
#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp26_;
#line 9432 "PhotoPage.c"
	} else {
#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = FALSE;
#line 9436 "PhotoPage.c"
	}
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = self->priv->crop_button;
#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), _tmp20_);
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = photo;
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp30_ != NULL) {
#line 9446 "PhotoPage.c"
		gboolean _tmp31_ = FALSE;
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = self->priv->photo_missing;
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = !_tmp31_;
#line 9452 "PhotoPage.c"
	} else {
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = FALSE;
#line 9456 "PhotoPage.c"
	}
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp29_) {
#line 9460 "PhotoPage.c"
		Photo* _tmp32_ = NULL;
		Scaling _tmp33_ = {0};
		gboolean _tmp34_ = FALSE;
#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = photo;
#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp33_ = scaling;
#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp34_ = editing_tools_redeye_tool_is_available (_tmp32_, &_tmp33_);
#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = _tmp34_;
#line 9472 "PhotoPage.c"
	} else {
#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = FALSE;
#line 9476 "PhotoPage.c"
	}
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_ = self->priv->redeye_button;
#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget), _tmp28_);
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_ = photo;
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp38_ != NULL) {
#line 9486 "PhotoPage.c"
		gboolean _tmp39_ = FALSE;
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp39_ = self->priv->photo_missing;
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = !_tmp39_;
#line 9492 "PhotoPage.c"
	} else {
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = FALSE;
#line 9496 "PhotoPage.c"
	}
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp37_) {
#line 9500 "PhotoPage.c"
		Photo* _tmp40_ = NULL;
		Scaling _tmp41_ = {0};
		gboolean _tmp42_ = FALSE;
#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp40_ = photo;
#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp41_ = scaling;
#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp42_ = editing_tools_adjust_tool_is_available (_tmp40_, &_tmp41_);
#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp36_ = _tmp42_;
#line 9512 "PhotoPage.c"
	} else {
#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp36_ = FALSE;
#line 9516 "PhotoPage.c"
	}
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp43_ = self->priv->adjust_button;
#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), _tmp36_);
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp46_ = photo;
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp46_ != NULL) {
#line 9526 "PhotoPage.c"
		gboolean _tmp47_ = FALSE;
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp47_ = self->priv->photo_missing;
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp45_ = !_tmp47_;
#line 9532 "PhotoPage.c"
	} else {
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp45_ = FALSE;
#line 9536 "PhotoPage.c"
	}
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp45_) {
#line 9540 "PhotoPage.c"
		Photo* _tmp48_ = NULL;
		gboolean _tmp49_ = FALSE;
#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp48_ = photo;
#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp49_ = editing_host_page_is_enhance_available (self, _tmp48_);
#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp44_ = _tmp49_;
#line 9549 "PhotoPage.c"
	} else {
#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp44_ = FALSE;
#line 9553 "PhotoPage.c"
	}
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_ = self->priv->enhance_button;
#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget), _tmp44_);
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_ = photo;
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp53_ != NULL) {
#line 9563 "PhotoPage.c"
		gboolean _tmp54_ = FALSE;
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp54_ = self->priv->photo_missing;
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp52_ = !_tmp54_;
#line 9569 "PhotoPage.c"
	} else {
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp52_ = FALSE;
#line 9573 "PhotoPage.c"
	}
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp52_) {
#line 9577 "PhotoPage.c"
		Photo* _tmp55_ = NULL;
		Scaling _tmp56_ = {0};
		gboolean _tmp57_ = FALSE;
#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp55_ = photo;
#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp56_ = scaling;
#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp57_ = editing_tools_straighten_tool_is_available (_tmp55_, &_tmp56_);
#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp51_ = _tmp57_;
#line 9589 "PhotoPage.c"
	} else {
#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp51_ = FALSE;
#line 9593 "PhotoPage.c"
	}
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp58_ = self->priv->straighten_button;
#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_widget_get_type (), GtkWidget), _tmp51_);
#line 1357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_ = selected_count;
#line 1357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp60_ = count;
#line 1357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp59_, _tmp60_);
#line 1335 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 9607 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_shift_pressed (Page* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	EditingToolsEditingTool* _tmp3_ = NULL;
	GdkEventKey* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
#line 1360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->current_tool;
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ == NULL) {
#line 9626 "PhotoPage.c"
		gboolean _tmp4_ = FALSE;
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = !_tmp4_;
#line 9632 "PhotoPage.c"
	} else {
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = FALSE;
#line 9636 "PhotoPage.c"
	}
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 9640 "PhotoPage.c"
		gboolean _tmp5_ = FALSE;
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = page_get_alt_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = !_tmp5_;
#line 9646 "PhotoPage.c"
	} else {
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = FALSE;
#line 9650 "PhotoPage.c"
	}
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 9654 "PhotoPage.c"
		gboolean _tmp6_ = FALSE;
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = editing_host_page_has_photo (self);
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp6_;
#line 9660 "PhotoPage.c"
	} else {
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 9664 "PhotoPage.c"
	}
#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 1363 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_swap_in_original (self);
#line 9670 "PhotoPage.c"
	}
#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = event;
#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = PAGE_CLASS (editing_host_page_parent_class)->on_shift_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp7_);
#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp8_;
#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 9680 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_shift_released (Page* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	EditingToolsEditingTool* _tmp0_ = NULL;
	GdkEventKey* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 1368 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1369 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1369 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == NULL) {
#line 1370 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_swap_out_original (self);
#line 9698 "PhotoPage.c"
	}
#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = event;
#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = PAGE_CLASS (editing_host_page_parent_class)->on_shift_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp1_);
#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp2_;
#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 9708 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_alt_pressed (Page* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	EditingToolsEditingTool* _tmp0_ = NULL;
	GdkEventKey* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 1375 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1376 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1376 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == NULL) {
#line 1377 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_swap_out_original (self);
#line 9726 "PhotoPage.c"
	}
#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = event;
#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = PAGE_CLASS (editing_host_page_parent_class)->on_alt_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp1_);
#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp2_;
#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 9736 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_alt_released (Page* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	EditingToolsEditingTool* _tmp2_ = NULL;
	GdkEventKey* _tmp5_ = NULL;
	gboolean _tmp6_ = FALSE;
#line 1382 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->current_tool;
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_ == NULL) {
#line 9754 "PhotoPage.c"
		gboolean _tmp3_ = FALSE;
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = page_get_shift_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = _tmp3_;
#line 9760 "PhotoPage.c"
	} else {
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = FALSE;
#line 9764 "PhotoPage.c"
	}
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 9768 "PhotoPage.c"
		gboolean _tmp4_ = FALSE;
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp4_;
#line 9774 "PhotoPage.c"
	} else {
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 9778 "PhotoPage.c"
	}
#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 1384 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_swap_in_original (self);
#line 9784 "PhotoPage.c"
	}
#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = event;
#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = PAGE_CLASS (editing_host_page_parent_class)->on_alt_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp5_);
#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp6_;
#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 9794 "PhotoPage.c"
}


static void editing_host_page_swap_in_original (EditingHostPage* self) {
	GdkPixbuf* original = NULL;
	GdkPixbuf* _tmp9_ = NULL;
	GtkScale* _tmp10_ = NULL;
	gdouble _tmp11_ = 0.0;
	GdkPixbuf* _tmp12_ = NULL;
	Photo* _tmp13_ = NULL;
	Photo* _tmp14_ = NULL;
	Dimensions _tmp15_ = {0};
	GError * _inner_error_ = NULL;
#line 1389 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 9810 "PhotoPage.c"
	{
		GdkPixbuf* _tmp0_ = NULL;
		Photo* _tmp1_ = NULL;
		Photo* _tmp2_ = NULL;
		GdkPixbuf* _tmp3_ = NULL;
		GdkPixbuf* _tmp4_ = NULL;
		Photo* _tmp5_ = NULL;
		Photo* _tmp6_ = NULL;
		Orientation _tmp7_ = 0;
		GdkPixbuf* _tmp8_ = NULL;
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = editing_host_page_get_photo (self);
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = _tmp1_;
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = photo_get_prefetched_copy (_tmp2_, &_inner_error_);
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp2_);
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp4_;
#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 9835 "PhotoPage.c"
			goto __catch236_g_error;
		}
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = editing_host_page_get_photo (self);
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = photo_get_original_orientation (_tmp6_);
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = orientation_rotate_pixbuf (_tmp7_, _tmp0_);
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (original);
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		original = _tmp8_;
#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp6_);
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp0_);
#line 9854 "PhotoPage.c"
	}
	goto __finally236;
	__catch236_g_error:
	{
		GError* err = NULL;
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 1395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 1395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (original);
#line 1395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 9870 "PhotoPage.c"
	}
	__finally236:
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (original);
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.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 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 9883 "PhotoPage.c"
	}
#line 1399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = single_photo_page_get_unscaled_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->swapped);
#line 1399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->swapped = _tmp9_;
#line 1403 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = self->priv->zoom_slider;
#line 1403 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_range_get_type (), GtkRange));
#line 1403 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp11_ != 0.0) {
#line 1404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_save_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1405 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 9901 "PhotoPage.c"
	}
#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = original;
#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = editing_host_page_get_photo (self);
#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo_get_master_dimensions (_tmp14_, &_tmp15_);
#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp12_, &_tmp15_, NULL);
#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp14_);
#line 1389 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (original);
#line 9917 "PhotoPage.c"
}


static void editing_host_page_swap_out_original (EditingHostPage* self) {
	GdkPixbuf* _tmp0_ = NULL;
#line 1411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1412 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->swapped;
#line 1412 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 9929 "PhotoPage.c"
		GdkPixbuf* _tmp1_ = NULL;
		Photo* _tmp2_ = NULL;
		Photo* _tmp3_ = NULL;
		Dimensions _tmp4_ = {0};
#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->swapped;
#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo (self);
#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp2_;
#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp4_);
#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp1_, &_tmp4_, NULL);
#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 1415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_restore_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1416 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_update_cursor_for_zoom_context (self);
#line 1419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (self->priv->swapped);
#line 1419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->swapped = NULL;
#line 9954 "PhotoPage.c"
	}
}


static gpointer _editing_tools_editing_tool_ref0 (gpointer self) {
#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self ? editing_tools_editing_tool_ref (self) : NULL;
#line 9962 "PhotoPage.c"
}


static void editing_host_page_activate_tool (EditingHostPage* self, EditingToolsEditingTool* tool) {
	Dimensions _tmp0_ = {0};
	GdkPixbuf* _tmp1_ = NULL;
	GdkPixbuf* unscaled = NULL;
	Dimensions max_dim = {0};
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	Dimensions _tmp4_ = {0};
	Dimensions _tmp5_ = {0};
	GdkPixbuf* _tmp22_ = NULL;
	EditingToolsPhotoCanvas* photo_canvas = NULL;
	EditingHostPageEditingHostCanvas* _tmp25_ = NULL;
	EditingToolsEditingTool* _tmp26_ = NULL;
	EditingToolsEditingTool* _tmp27_ = NULL;
	EditingToolsEditingTool* _tmp28_ = NULL;
	EditingToolsPhotoCanvas* _tmp29_ = NULL;
	GError * _inner_error_ = NULL;
#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (tool));
#line 1426 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_save_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 1431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 1434 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = single_photo_page_get_unscaled_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1434 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cancel_editing_pixbuf);
#line 1434 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->cancel_editing_pixbuf = _tmp1_;
#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_get_photo (self);
#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp4_);
#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	max_dim = _tmp5_;
#line 10013 "PhotoPage.c"
	{
		Dimensions tool_pixbuf_dim = {0};
		Dimensions _tmp6_ = {0};
		GdkPixbuf* _tmp7_ = NULL;
		EditingToolsEditingTool* _tmp8_ = NULL;
		Scaling _tmp9_ = {0};
		Photo* _tmp10_ = NULL;
		Photo* _tmp11_ = NULL;
		Dimensions _tmp12_ = {0};
		GdkPixbuf* _tmp13_ = NULL;
		GdkPixbuf* _tmp14_ = NULL;
		GdkPixbuf* _tmp15_ = NULL;
		GdkPixbuf* _tmp16_ = NULL;
#line 1440 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_.width = 0;
#line 1440 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		tool_pixbuf_dim = _tmp6_;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = tool;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp9_);
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = editing_host_page_get_photo (self);
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = _tmp10_;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = editing_tools_editing_tool_get_display_pixbuf (_tmp8_, &_tmp9_, _tmp11_, &_tmp12_, &_inner_error_);
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		tool_pixbuf_dim = _tmp12_;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp11_);
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp14_;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 10051 "PhotoPage.c"
			goto __catch237_g_error;
		}
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = _tmp7_;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = NULL;
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (unscaled);
#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		unscaled = _tmp15_;
#line 1443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = unscaled;
#line 1443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp16_ != NULL) {
#line 10066 "PhotoPage.c"
			Dimensions _tmp17_ = {0};
#line 1444 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp17_ = tool_pixbuf_dim;
#line 1444 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			max_dim = _tmp17_;
#line 10072 "PhotoPage.c"
		}
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp7_);
#line 10076 "PhotoPage.c"
	}
	goto __finally237;
	__catch237_g_error:
	{
		GError* err = NULL;
		GError* _tmp18_ = NULL;
		const gchar* _tmp19_ = NULL;
		GtkToggleToolButton* _tmp20_ = NULL;
		GtkToggleToolButton* _tmp21_ = NULL;
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 1446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = err;
#line 1446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_->message;
#line 1446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_warning ("PhotoPage.vala:1446: %s", _tmp19_);
#line 1447 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_set_photo_missing (self, TRUE);
#line 1450 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = self->priv->current_editing_toggle;
#line 1450 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_vala_assert (_tmp20_ != NULL, "current_editing_toggle != null");
#line 1451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = self->priv->current_editing_toggle;
#line 1451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gtk_toggle_tool_button_set_active (_tmp21_, FALSE);
#line 1453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 1453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (unscaled);
#line 1453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 10112 "PhotoPage.c"
	}
	__finally237:
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (unscaled);
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.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 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 10125 "PhotoPage.c"
	}
#line 1456 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = unscaled;
#line 1456 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp22_ != NULL) {
#line 10131 "PhotoPage.c"
		GdkPixbuf* _tmp23_ = NULL;
		Dimensions _tmp24_ = {0};
#line 1457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = unscaled;
#line 1457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = max_dim;
#line 1457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp23_, &_tmp24_, NULL);
#line 10140 "PhotoPage.c"
	}
#line 1460 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = editing_host_page_editing_host_canvas_new (self);
#line 1460 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo_canvas = G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas);
#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = tool;
#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = _editing_tools_editing_tool_ref0 (_tmp26_);
#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (self->priv->current_tool);
#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->current_tool = _tmp27_;
#line 1464 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = self->priv->current_tool;
#line 1464 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = photo_canvas;
#line 1464 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_tools_editing_tool_activate (_tmp28_, _tmp29_);
#line 1467 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_place_tool_window (self);
#line 1470 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_photo_canvas_unref0 (photo_canvas);
#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (unscaled);
#line 10168 "PhotoPage.c"
}


static void _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated (EditingToolsEditingTool* _sender, gpointer self) {
#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_activated ((EditingHostPage*) self);
#line 10175 "PhotoPage.c"
}


static void _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated (EditingToolsEditingTool* _sender, gpointer self) {
#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_deactivated ((EditingHostPage*) self);
#line 10182 "PhotoPage.c"
}


static void _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied (EditingToolsEditingTool* _sender, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement, gpointer self) {
#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_applied ((EditingHostPage*) self, command, new_pixbuf, new_max_dim, needs_improvement);
#line 10189 "PhotoPage.c"
}


static void _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled (EditingToolsEditingTool* _sender, gpointer self) {
#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_cancelled ((EditingHostPage*) self);
#line 10196 "PhotoPage.c"
}


static void _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted (EditingToolsEditingTool* _sender, gpointer self) {
#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_aborted ((EditingHostPage*) self);
#line 10203 "PhotoPage.c"
}


static gboolean _editing_host_page_update_pixbuf_gsource_func (gpointer self) {
	gboolean result;
	result = editing_host_page_update_pixbuf ((EditingHostPage*) self);
#line 1525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 10212 "PhotoPage.c"
}


static void editing_host_page_deactivate_tool (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement) {
	EditingToolsEditingTool* _tmp0_ = NULL;
	EditingToolsEditingTool* tool = NULL;
	EditingToolsEditingTool* _tmp1_ = NULL;
	EditingToolsEditingTool* _tmp2_ = NULL;
	EditingToolsEditingToolWindow* tool_window = NULL;
	EditingToolsEditingTool* _tmp3_ = NULL;
	EditingToolsEditingToolWindow* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	EditingToolsEditingToolWindow* _tmp6_ = NULL;
	EditingToolsEditingTool* _tmp24_ = NULL;
	EditingToolsEditingTool* _tmp25_ = NULL;
	guint _tmp26_ = 0U;
	EditingToolsEditingTool* _tmp27_ = NULL;
	guint _tmp28_ = 0U;
	EditingToolsEditingTool* _tmp29_ = NULL;
	guint _tmp30_ = 0U;
	EditingToolsEditingTool* _tmp31_ = NULL;
	guint _tmp32_ = 0U;
	EditingToolsEditingTool* _tmp33_ = NULL;
	guint _tmp34_ = 0U;
	GdkPixbuf* replacement = NULL;
	GdkPixbuf* _tmp35_ = NULL;
	GdkPixbuf* _tmp43_ = NULL;
	gboolean _tmp46_ = FALSE;
	Command* _tmp47_ = NULL;
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail ((command == NULL) || IS_COMMAND (command));
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail ((new_pixbuf == NULL) || GDK_IS_PIXBUF (new_pixbuf));
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (new_max_dim != NULL);
#line 1475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == NULL) {
#line 1476 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 10256 "PhotoPage.c"
	}
#line 1478 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->current_tool;
#line 1478 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _editing_tools_editing_tool_ref0 (_tmp1_);
#line 1478 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tool = _tmp2_;
#line 1479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (self->priv->current_tool);
#line 1479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->current_tool = NULL;
#line 1482 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = tool;
#line 1482 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = editing_tools_editing_tool_get_tool_window (_tmp3_);
#line 1482 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tool_window = _tmp4_;
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = tool_window;
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_ != NULL) {
#line 10278 "PhotoPage.c"
		EditingToolsEditingToolWindow* _tmp7_ = NULL;
		gboolean _tmp8_ = FALSE;
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = tool_window;
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = editing_tools_editing_tool_window_has_user_moved (_tmp7_);
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp8_;
#line 10287 "PhotoPage.c"
	} else {
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = FALSE;
#line 10291 "PhotoPage.c"
	}
#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_) {
#line 10295 "PhotoPage.c"
		gint last_location_x = 0;
		gint last_location_y = 0;
		EditingToolsEditingToolWindow* _tmp9_ = NULL;
		gint _tmp10_ = 0;
		gint _tmp11_ = 0;
		GeeHashMap* _tmp12_ = NULL;
		EditingToolsEditingTool* _tmp13_ = NULL;
		const gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		gint _tmp17_ = 0;
		GeeHashMap* _tmp18_ = NULL;
		EditingToolsEditingTool* _tmp19_ = NULL;
		const gchar* _tmp20_ = NULL;
		gchar* _tmp21_ = NULL;
		gchar* _tmp22_ = NULL;
		gint _tmp23_ = 0;
#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = tool_window;
#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gtk_window_get_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_window_get_type (), GtkWindow), &_tmp10_, &_tmp11_);
#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		last_location_x = _tmp10_;
#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		last_location_y = _tmp11_;
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = self->priv->last_locations;
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = tool;
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_->name;
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = g_strconcat (_tmp14_, "_x", NULL);
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = last_location_x;
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, (gpointer) ((gintptr) _tmp17_));
#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp16_);
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = self->priv->last_locations;
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = tool;
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp19_->name;
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = g_strconcat (_tmp20_, "_y", NULL);
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = _tmp21_;
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = last_location_y;
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_, (gpointer) ((gintptr) _tmp23_));
#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp22_);
#line 10353 "PhotoPage.c"
	}
#line 1492 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = tool;
#line 1492 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_tools_editing_tool_deactivate (_tmp24_);
#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = tool;
#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("activated", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp26_, NULL, FALSE);
#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp25_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated, self);
#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = tool;
#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("deactivated", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp28_, NULL, FALSE);
#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp27_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp28_, 0, NULL, (GCallback) _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated, self);
#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = tool;
#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("applied", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp30_, NULL, FALSE);
#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp29_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp30_, 0, NULL, (GCallback) _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied, self);
#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = tool;
#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("cancelled", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp32_, NULL, FALSE);
#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp31_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp32_, 0, NULL, (GCallback) _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled, self);
#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33_ = tool;
#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("aborted", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp34_, NULL, FALSE);
#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp33_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp34_, 0, NULL, (GCallback) _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted, self);
#line 1500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (tool);
#line 1500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tool = NULL;
#line 1504 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->current_editing_toggle);
#line 1504 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->current_editing_toggle = NULL;
#line 1507 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	replacement = NULL;
#line 1508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_ = new_pixbuf;
#line 1508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp35_ != NULL) {
#line 10403 "PhotoPage.c"
		GdkPixbuf* _tmp36_ = NULL;
		GdkPixbuf* _tmp37_ = NULL;
#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp36_ = new_pixbuf;
#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = _g_object_ref0 (_tmp36_);
#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (replacement);
#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		replacement = _tmp37_;
#line 10414 "PhotoPage.c"
	} else {
		GdkPixbuf* _tmp38_ = NULL;
#line 1510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp38_ = self->priv->cancel_editing_pixbuf;
#line 1510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp38_ != NULL) {
#line 10421 "PhotoPage.c"
			GdkPixbuf* _tmp39_ = NULL;
			GdkPixbuf* _tmp40_ = NULL;
			GdkPixbuf* _tmp41_ = NULL;
			Dimensions _tmp42_ = {0};
#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp39_ = self->priv->cancel_editing_pixbuf;
#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp40_ = _g_object_ref0 (_tmp39_);
#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (replacement);
#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			replacement = _tmp40_;
#line 1512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp41_ = replacement;
#line 1512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			dimensions_for_pixbuf (_tmp41_, &_tmp42_);
#line 1512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			*new_max_dim = _tmp42_;
#line 1513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			needs_improvement = FALSE;
#line 10442 "PhotoPage.c"
		} else {
#line 1515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			needs_improvement = TRUE;
#line 10446 "PhotoPage.c"
		}
	}
#line 1518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp43_ = replacement;
#line 1518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp43_ != NULL) {
#line 10453 "PhotoPage.c"
		GdkPixbuf* _tmp44_ = NULL;
		Dimensions _tmp45_ = {0};
#line 1519 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp44_ = replacement;
#line 1519 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp45_ = *new_max_dim;
#line 1519 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp44_, &_tmp45_, NULL);
#line 10462 "PhotoPage.c"
	}
#line 1520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cancel_editing_pixbuf);
#line 1520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->cancel_editing_pixbuf = NULL;
#line 1523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp46_ = needs_improvement;
#line 1523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp46_) {
#line 1524 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->pixbuf_dirty = TRUE;
#line 1525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _editing_host_page_update_pixbuf_gsource_func, g_object_ref (self), g_object_unref);
#line 10476 "PhotoPage.c"
	}
#line 1529 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_ = command;
#line 1529 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp47_ != NULL) {
#line 10482 "PhotoPage.c"
		CommandManager* _tmp48_ = NULL;
		CommandManager* _tmp49_ = NULL;
		Command* _tmp50_ = NULL;
#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp48_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp49_ = _tmp48_;
#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp50_ = command;
#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command_manager_execute (_tmp49_, _tmp50_);
#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_command_manager_unref0 (_tmp49_);
#line 10496 "PhotoPage.c"
	}
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (replacement);
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (tool_window);
#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (tool);
#line 10504 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_double_click (EditingHostPage* self, GdkEventButton* event) {
	gboolean result = FALSE;
#line 1535 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 1536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 10516 "PhotoPage.c"
}


gboolean editing_host_page_on_double_click (EditingHostPage* self, GdkEventButton* event) {
#line 1535 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1535 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->on_double_click (self, event);
#line 10525 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_left_click (Page* base, GdkEventButton* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	GdkEventButton* _tmp0_ = NULL;
	GdkEventType _tmp1_ = 0;
	gint x = 0;
	GdkEventButton* _tmp6_ = NULL;
	gdouble _tmp7_ = 0.0;
	gint y = 0;
	GdkEventButton* _tmp8_ = NULL;
	gdouble _tmp9_ = 0.0;
	gboolean _tmp10_ = FALSE;
	EditingToolsEditingTool* _tmp11_ = NULL;
	EditingToolsEditingTool* _tmp18_ = NULL;
	gint _tmp19_ = 0;
	gint _tmp20_ = 0;
	gboolean _tmp21_ = FALSE;
	EditingToolsEditingTool* _tmp22_ = NULL;
	gint _tmp23_ = 0;
	gint _tmp24_ = 0;
#line 1540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = event;
#line 1542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_->type;
#line 1542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == GDK_2BUTTON_PRESS) {
#line 10559 "PhotoPage.c"
		gboolean _tmp2_ = FALSE;
		EditingToolsEditingTool* _tmp3_ = NULL;
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->current_tool;
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp3_ == NULL) {
#line 10566 "PhotoPage.c"
			GdkEventButton* _tmp4_ = NULL;
			gboolean _tmp5_ = FALSE;
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp4_ = event;
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp5_ = editing_host_page_on_double_click (self, _tmp4_);
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp2_ = _tmp5_;
#line 10575 "PhotoPage.c"
		} else {
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp2_ = FALSE;
#line 10579 "PhotoPage.c"
		}
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = _tmp2_;
#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 10585 "PhotoPage.c"
	}
#line 1545 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = event;
#line 1545 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_->x;
#line 1545 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	x = (gint) _tmp7_;
#line 1546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = event;
#line 1546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_->y;
#line 1546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	y = (gint) _tmp9_;
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = self->priv->current_tool;
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp11_ == NULL) {
#line 10603 "PhotoPage.c"
		GtkScale* _tmp12_ = NULL;
		gdouble _tmp13_ = 0.0;
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = self->priv->zoom_slider;
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_range_get_type (), GtkRange));
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp13_ != 0.0;
#line 10612 "PhotoPage.c"
	} else {
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = FALSE;
#line 10616 "PhotoPage.c"
	}
#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_) {
#line 10620 "PhotoPage.c"
		GdkEventButton* _tmp14_ = NULL;
		gdouble _tmp15_ = 0.0;
		GdkEventButton* _tmp16_ = NULL;
		gdouble _tmp17_ = 0.0;
#line 1551 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = event;
#line 1551 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = _tmp14_->x;
#line 1551 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->zoom_pan_start_point.x = (gint) _tmp15_;
#line 1552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = event;
#line 1552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = _tmp16_->y;
#line 1552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->zoom_pan_start_point.y = (gint) _tmp17_;
#line 1553 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->is_pan_in_progress = TRUE;
#line 1554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_suspend_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1556 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 1556 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 10645 "PhotoPage.c"
	}
#line 1560 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = self->priv->current_tool;
#line 1560 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp18_ == NULL) {
#line 1561 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = FALSE;
#line 1561 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 10655 "PhotoPage.c"
	}
#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = x;
#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = y;
#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = single_photo_page_is_inside_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp19_, _tmp20_);
#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp21_) {
#line 1567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 1567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 10669 "PhotoPage.c"
	}
#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = self->priv->current_tool;
#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = x;
#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = y;
#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_tools_editing_tool_on_left_click (_tmp22_, _tmp23_, _tmp24_);
#line 1572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 1572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 10683 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_left_released (Page* base, GdkEventButton* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	EditingToolsEditingTool* _tmp21_ = NULL;
	EditingToolsEditingTool* _tmp22_ = NULL;
	GdkEventButton* _tmp23_ = NULL;
	gdouble _tmp24_ = 0.0;
	GdkEventButton* _tmp25_ = NULL;
	gdouble _tmp26_ = 0.0;
	EditingToolsEditingTool* _tmp27_ = NULL;
	EditingToolsEditingToolWindow* _tmp28_ = NULL;
	EditingToolsEditingToolWindow* _tmp29_ = NULL;
	gboolean _tmp30_ = FALSE;
#line 1575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1575 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->is_pan_in_progress;
#line 1576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 10709 "PhotoPage.c"
		GdkPoint viewport_center = {0};
		ZoomState _tmp1_ = {0};
		GdkPoint _tmp2_ = {0};
		gint delta_x = 0;
		GdkEventButton* _tmp3_ = NULL;
		gdouble _tmp4_ = 0.0;
		GdkPoint _tmp5_ = {0};
		gint _tmp6_ = 0;
		gint delta_y = 0;
		GdkEventButton* _tmp7_ = NULL;
		gdouble _tmp8_ = 0.0;
		GdkPoint _tmp9_ = {0};
		gint _tmp10_ = 0;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		gint _tmp13_ = 0;
		gint _tmp14_ = 0;
		ZoomState zoom_state = {0};
		ZoomState _tmp15_ = {0};
		GdkPoint _tmp16_ = {0};
		ZoomState _tmp17_ = {0};
		ZoomBuffer* _tmp18_ = NULL;
		ZoomBuffer* _tmp19_ = NULL;
		ZoomState _tmp20_ = {0};
#line 1577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_);
#line 1577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoom_state_get_viewport_center (&_tmp1_, &_tmp2_);
#line 1577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		viewport_center = _tmp2_;
#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = event;
#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_->x;
#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = self->priv->zoom_pan_start_point;
#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_.x;
#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		delta_x = ((gint) _tmp4_) - _tmp6_;
#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = event;
#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_->y;
#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = self->priv->zoom_pan_start_point;
#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp9_.y;
#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		delta_y = ((gint) _tmp8_) - _tmp10_;
#line 1580 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = viewport_center.x;
#line 1580 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = delta_x;
#line 1580 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		viewport_center.x = _tmp11_ - _tmp12_;
#line 1581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = viewport_center.y;
#line 1581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = delta_y;
#line 1581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		viewport_center.y = _tmp13_ - _tmp14_;
#line 1583 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp15_);
#line 1583 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = viewport_center;
#line 1583 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoom_state_init_pan (&zoom_state, &_tmp15_, &_tmp16_);
#line 1584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = zoom_state;
#line 1584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp17_);
#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = single_photo_page_get_zoom_buffer (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = zoom_state;
#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoom_buffer_flush_demand_cache (_tmp19_, &_tmp20_);
#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp19_);
#line 1587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->is_pan_in_progress = FALSE;
#line 1588 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_restore_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 10796 "PhotoPage.c"
	}
#line 1593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = self->priv->current_tool;
#line 1593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp21_ == NULL) {
#line 1594 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = FALSE;
#line 1594 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 10806 "PhotoPage.c"
	}
#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = self->priv->current_tool;
#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = event;
#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = _tmp23_->x;
#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = event;
#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = _tmp25_->y;
#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_tools_editing_tool_on_left_released (_tmp22_, (gint) _tmp24_, (gint) _tmp26_);
#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = self->priv->current_tool;
#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = editing_tools_editing_tool_get_tool_window (_tmp27_);
#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = _tmp28_;
#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_ = _tmp29_ != NULL;
#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp29_);
#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp30_) {
#line 10832 "PhotoPage.c"
		EditingToolsEditingTool* _tmp31_ = NULL;
		EditingToolsEditingToolWindow* _tmp32_ = NULL;
		EditingToolsEditingToolWindow* _tmp33_ = NULL;
#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = self->priv->current_tool;
#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = editing_tools_editing_tool_get_tool_window (_tmp31_);
#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp33_ = _tmp32_;
#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_window_get_type (), GtkWindow));
#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp33_);
#line 10846 "PhotoPage.c"
	}
#line 1601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 1601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 10852 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_right_click (Page* base, GdkEventButton* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	GdkEventButton* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
#line 1604 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1604 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = event;
#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = page_on_context_buttonpress (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp0_);
#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp1_;
#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 10873 "PhotoPage.c"
}


static gboolean _editing_host_page_on_fetch_original_gsource_func (gpointer self) {
	gboolean result;
	result = editing_host_page_on_fetch_original ((EditingHostPage*) self);
#line 1617 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 10882 "PhotoPage.c"
}


static void editing_host_page_on_photos_altered (EditingHostPage* self, GeeMap* map) {
	GeeMap* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	Photo* _tmp5_ = NULL;
	Photo* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	ViewCollection* _tmp9_ = NULL;
	ViewCollection* _tmp10_ = NULL;
	gint _tmp11_ = 0;
	ViewCollection* _tmp12_ = NULL;
	ViewCollection* _tmp13_ = NULL;
	gint _tmp14_ = 0;
#line 1608 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1608 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GEE_IS_MAP (map));
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = map;
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_get_photo (self);
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject));
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = !_tmp3_;
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 1610 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 10922 "PhotoPage.c"
	}
#line 1612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->pixbuf_dirty = TRUE;
#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = editing_host_page_get_photo (self);
#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = photo_has_transformations (_tmp6_);
#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp6_);
#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp8_) {
#line 1617 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _editing_host_page_on_fetch_original_gsource_func, g_object_ref (self), g_object_unref);
#line 10940 "PhotoPage.c"
	}
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = view_collection_get_selected_count (_tmp10_);
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = _tmp12_;
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection));
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_update_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp11_, _tmp14_);
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp13_);
#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp10_);
#line 10960 "PhotoPage.c"
}


static void editing_host_page_on_view_contents_ordering_altered (EditingHostPage* self) {
#line 1622 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_refresh_caches (self, "on_view_contents_ordering_altered");
#line 10969 "PhotoPage.c"
}


static gboolean editing_host_page_on_fetch_original (EditingHostPage* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 1626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1627 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (self);
#line 1627 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 10982 "PhotoPage.c"
		PixbufCache* _tmp1_ = NULL;
		Photo* _tmp2_ = NULL;
		Photo* _tmp3_ = NULL;
#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->master_cache;
#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo (self);
#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp2_;
#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		pixbuf_cache_prefetch (_tmp1_, _tmp3_, BACKGROUND_JOB_JOB_PRIORITY_LOW, FALSE);
#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 10996 "PhotoPage.c"
	}
#line 1630 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = FALSE;
#line 1630 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11002 "PhotoPage.c"
}


static gboolean editing_host_page_is_panning_possible (EditingHostPage* self) {
	gboolean result = FALSE;
	Dimensions content_dim = {0};
	Dimensions _tmp0_ = {0};
	ZoomState _tmp1_ = {0};
	gint _tmp2_ = 0;
	ZoomState _tmp3_ = {0};
	gint _tmp4_ = 0;
	Dimensions canvas_dim = {0};
	Dimensions _tmp5_ = {0};
	gboolean _tmp6_ = FALSE;
	Dimensions _tmp7_ = {0};
	gint _tmp8_ = 0;
	Dimensions _tmp9_ = {0};
	gint _tmp10_ = 0;
#line 1633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1636 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_.width = 0;
#line 1636 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	content_dim = _tmp0_;
#line 1637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_);
#line 1637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = zoom_state_get_zoomed_width (&_tmp1_);
#line 1637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	content_dim.width = _tmp2_;
#line 1638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp3_);
#line 1638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = zoom_state_get_zoomed_height (&_tmp3_);
#line 1638 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	content_dim.height = _tmp4_;
#line 1639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_);
#line 1639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	canvas_dim = _tmp5_;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = canvas_dim;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_.width;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = content_dim;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_.width;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp8_ >= _tmp10_) {
#line 11053 "PhotoPage.c"
		Dimensions _tmp11_ = {0};
		gint _tmp12_ = 0;
		Dimensions _tmp13_ = {0};
		gint _tmp14_ = 0;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = canvas_dim;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_.height;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = content_dim;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_.height;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp12_ >= _tmp14_;
#line 11068 "PhotoPage.c"
	} else {
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = FALSE;
#line 11072 "PhotoPage.c"
	}
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = !_tmp6_;
#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11078 "PhotoPage.c"
}


static void editing_host_page_update_cursor_for_zoom_context (EditingHostPage* self) {
	gboolean _tmp0_ = FALSE;
#line 1644 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_is_panning_possible (self);
#line 1645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 1646 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_page_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), GDK_FLEUR);
#line 11092 "PhotoPage.c"
	} else {
#line 1648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_page_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), GDK_LEFT_PTR);
#line 11096 "PhotoPage.c"
	}
}


static gboolean editing_host_page_real_on_motion (Page* base, GdkEventMotion* event, gint x, gint y, GdkModifierType mask) {
	EditingHostPage * self;
	gboolean result = FALSE;
	EditingToolsEditingTool* _tmp0_ = NULL;
	gboolean _tmp6_ = FALSE;
	GdkEventMotion* _tmp24_ = NULL;
	gint _tmp25_ = 0;
	gint _tmp26_ = 0;
	GdkModifierType _tmp27_ = 0;
	gboolean _tmp28_ = FALSE;
#line 1652 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1652 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 11119 "PhotoPage.c"
		EditingToolsEditingTool* _tmp1_ = NULL;
		gint _tmp2_ = 0;
		gint _tmp3_ = 0;
		GdkModifierType _tmp4_ = 0;
		GdkEventMotion* _tmp5_ = NULL;
#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->current_tool;
#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = x;
#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = y;
#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = mask;
#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_tools_editing_tool_on_motion (_tmp1_, _tmp2_, _tmp3_, _tmp4_);
#line 1657 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = event;
#line 1657 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gdk_event_request_motions (_tmp5_);
#line 1659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 1659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 11143 "PhotoPage.c"
	}
#line 1662 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_update_cursor_for_zoom_context (self);
#line 1664 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->is_pan_in_progress;
#line 1664 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_) {
#line 11151 "PhotoPage.c"
		gint delta_x = 0;
		GdkEventMotion* _tmp7_ = NULL;
		gdouble _tmp8_ = 0.0;
		GdkPoint _tmp9_ = {0};
		gint _tmp10_ = 0;
		gint delta_y = 0;
		GdkEventMotion* _tmp11_ = NULL;
		gdouble _tmp12_ = 0.0;
		GdkPoint _tmp13_ = {0};
		gint _tmp14_ = 0;
		GdkPoint viewport_center = {0};
		ZoomState _tmp15_ = {0};
		GdkPoint _tmp16_ = {0};
		gint _tmp17_ = 0;
		gint _tmp18_ = 0;
		gint _tmp19_ = 0;
		gint _tmp20_ = 0;
		ZoomState zoom_state = {0};
		ZoomState _tmp21_ = {0};
		GdkPoint _tmp22_ = {0};
		ZoomState _tmp23_ = {0};
#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = event;
#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_->x;
#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = self->priv->zoom_pan_start_point;
#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp9_.x;
#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		delta_x = ((gint) _tmp8_) - _tmp10_;
#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = event;
#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_->y;
#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = self->priv->zoom_pan_start_point;
#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_.y;
#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		delta_y = ((gint) _tmp12_) - _tmp14_;
#line 1668 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp15_);
#line 1668 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoom_state_get_viewport_center (&_tmp15_, &_tmp16_);
#line 1668 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		viewport_center = _tmp16_;
#line 1669 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = viewport_center.x;
#line 1669 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = delta_x;
#line 1669 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		viewport_center.x = _tmp17_ - _tmp18_;
#line 1670 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = viewport_center.y;
#line 1670 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = delta_y;
#line 1670 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		viewport_center.y = _tmp19_ - _tmp20_;
#line 1672 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp21_);
#line 1672 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = viewport_center;
#line 1672 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		zoom_state_init_pan (&zoom_state, &_tmp21_, &_tmp22_);
#line 1674 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = zoom_state;
#line 1674 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_on_interactive_pan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp23_);
#line 1675 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 1675 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 11225 "PhotoPage.c"
	}
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = event;
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = x;
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = y;
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = mask;
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = PAGE_CLASS (editing_host_page_parent_class)->on_motion (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp24_, _tmp25_, _tmp26_, _tmp27_);
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp28_;
#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11241 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_leave_notify_event (Page* base) {
	EditingHostPage * self;
	gboolean result = FALSE;
	EditingToolsEditingTool* _tmp0_ = NULL;
	gboolean _tmp3_ = FALSE;
#line 1681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1682 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1682 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 11256 "PhotoPage.c"
		EditingToolsEditingTool* _tmp1_ = NULL;
		gboolean _tmp2_ = FALSE;
#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->current_tool;
#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_tools_editing_tool_on_leave_notify_event (_tmp1_);
#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = _tmp2_;
#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 11267 "PhotoPage.c"
	}
#line 1685 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = PAGE_CLASS (editing_host_page_parent_class)->on_leave_notify_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page));
#line 1685 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp3_;
#line 1685 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11275 "PhotoPage.c"
}


static void editing_host_page_track_tool_window (EditingHostPage* self) {
	EditingToolsEditingTool* _tmp0_ = NULL;
#line 1688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1690 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1690 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 11287 "PhotoPage.c"
		EditingToolsEditingToolWindow* tool_window = NULL;
		EditingToolsEditingTool* _tmp1_ = NULL;
		EditingToolsEditingToolWindow* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
		EditingToolsEditingToolWindow* _tmp4_ = NULL;
#line 1691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->current_tool;
#line 1691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_tools_editing_tool_get_tool_window (_tmp1_);
#line 1691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		tool_window = _tmp2_;
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = tool_window;
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp4_ != NULL) {
#line 11303 "PhotoPage.c"
			EditingToolsEditingToolWindow* _tmp5_ = NULL;
			gboolean _tmp6_ = FALSE;
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp5_ = tool_window;
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = editing_tools_editing_tool_window_has_user_moved (_tmp5_);
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp3_ = !_tmp6_;
#line 11312 "PhotoPage.c"
		} else {
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp3_ = FALSE;
#line 11316 "PhotoPage.c"
		}
#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp3_) {
#line 1693 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			editing_host_page_place_tool_window (self);
#line 11322 "PhotoPage.c"
		}
#line 1690 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (tool_window);
#line 11326 "PhotoPage.c"
	}
}


static void editing_host_page_real_on_move (Page* base, GdkRectangle* rect) {
	EditingHostPage * self;
	GdkRectangle _tmp0_ = {0};
#line 1697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (rect != NULL);
#line 1698 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_track_tool_window (self);
#line 1700 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = *rect;
#line 1700 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->on_move (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp0_);
#line 11344 "PhotoPage.c"
}


static void editing_host_page_real_on_move_finished (Page* base, GdkRectangle* rect) {
	EditingHostPage * self;
	GeeHashMap* _tmp0_ = NULL;
	GdkRectangle _tmp1_ = {0};
#line 1703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (rect != NULL);
#line 1704 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->last_locations;
#line 1704 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
#line 1706 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = *rect;
#line 1706 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (editing_host_page_parent_class)->on_move_finished (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp1_);
#line 11364 "PhotoPage.c"
}


static gboolean editing_host_page_on_keyboard_pan_event (EditingHostPage* self, GdkEventKey* event) {
	gboolean result = FALSE;
	ZoomState current_zoom_state = {0};
	ZoomState _tmp0_ = {0};
	GdkPoint viewport_center = {0};
	GdkPoint _tmp1_ = {0};
	GdkEventKey* _tmp2_ = NULL;
	guint _tmp3_ = 0U;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label0 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label1 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label2 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label3 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label4 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label5 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label6 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label7 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label8 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label9 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label10 = 0;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp6_label11 = 0;
#line 11403 "PhotoPage.c"
	ZoomState new_zoom_state = {0};
	ZoomState _tmp12_ = {0};
	GdkPoint _tmp13_ = {0};
	ZoomState _tmp14_ = {0};
#line 1709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1710 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_);
#line 1710 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	current_zoom_state = _tmp0_;
#line 1711 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_get_viewport_center (&current_zoom_state, &_tmp1_);
#line 1711 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	viewport_center = _tmp1_;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = event;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_->keyval;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = gdk_keyval_name (_tmp3_);
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (((_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("Left")))) || (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("KP_Left"))))) || (_tmp7_ == ((0 != _tmp6_label2) ? _tmp6_label2 : (_tmp6_label2 = g_quark_from_static_string ("KP_4"))))) {
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11434 "PhotoPage.c"
			default:
			{
				gint _tmp8_ = 0;
#line 1717 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp8_ = viewport_center.x;
#line 1717 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				viewport_center.x = _tmp8_ - EDITING_HOST_PAGE_PAN_INCREMENT_SIZE;
#line 1718 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11444 "PhotoPage.c"
			}
		}
	} else if (((_tmp7_ == ((0 != _tmp6_label3) ? _tmp6_label3 : (_tmp6_label3 = g_quark_from_static_string ("Right")))) || (_tmp7_ == ((0 != _tmp6_label4) ? _tmp6_label4 : (_tmp6_label4 = g_quark_from_static_string ("KP_Right"))))) || (_tmp7_ == ((0 != _tmp6_label5) ? _tmp6_label5 : (_tmp6_label5 = g_quark_from_static_string ("KP_6"))))) {
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11450 "PhotoPage.c"
			default:
			{
				gint _tmp9_ = 0;
#line 1723 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp9_ = viewport_center.x;
#line 1723 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				viewport_center.x = _tmp9_ + EDITING_HOST_PAGE_PAN_INCREMENT_SIZE;
#line 1724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11460 "PhotoPage.c"
			}
		}
	} else if (((_tmp7_ == ((0 != _tmp6_label6) ? _tmp6_label6 : (_tmp6_label6 = g_quark_from_static_string ("Down")))) || (_tmp7_ == ((0 != _tmp6_label7) ? _tmp6_label7 : (_tmp6_label7 = g_quark_from_static_string ("KP_Down"))))) || (_tmp7_ == ((0 != _tmp6_label8) ? _tmp6_label8 : (_tmp6_label8 = g_quark_from_static_string ("KP_2"))))) {
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11466 "PhotoPage.c"
			default:
			{
				gint _tmp10_ = 0;
#line 1729 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp10_ = viewport_center.y;
#line 1729 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				viewport_center.y = _tmp10_ + EDITING_HOST_PAGE_PAN_INCREMENT_SIZE;
#line 1730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11476 "PhotoPage.c"
			}
		}
	} else if (((_tmp7_ == ((0 != _tmp6_label9) ? _tmp6_label9 : (_tmp6_label9 = g_quark_from_static_string ("Up")))) || (_tmp7_ == ((0 != _tmp6_label10) ? _tmp6_label10 : (_tmp6_label10 = g_quark_from_static_string ("KP_Up"))))) || (_tmp7_ == ((0 != _tmp6_label11) ? _tmp6_label11 : (_tmp6_label11 = g_quark_from_static_string ("KP_8"))))) {
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11482 "PhotoPage.c"
			default:
			{
				gint _tmp11_ = 0;
#line 1735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp11_ = viewport_center.y;
#line 1735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				viewport_center.y = _tmp11_ - EDITING_HOST_PAGE_PAN_INCREMENT_SIZE;
#line 1736 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11492 "PhotoPage.c"
			}
		}
	} else {
#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11498 "PhotoPage.c"
			default:
			{
#line 1739 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				result = FALSE;
#line 1739 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				return result;
#line 11505 "PhotoPage.c"
			}
		}
	}
#line 1742 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = current_zoom_state;
#line 1742 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = viewport_center;
#line 1742 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	zoom_state_init_pan (&new_zoom_state, &_tmp12_, &_tmp13_);
#line 1743 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = new_zoom_state;
#line 1743 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp14_);
#line 1744 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 1746 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 1746 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11525 "PhotoPage.c"
}


static gboolean editing_host_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	EditingToolsEditingTool* _tmp0_ = NULL;
	gboolean _tmp4_ = FALSE;
	GdkEventKey* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	gboolean handled = FALSE;
	GdkEventKey* _tmp9_ = NULL;
	guint _tmp10_ = 0U;
	const gchar* _tmp11_ = NULL;
	const gchar* _tmp12_ = NULL;
	GQuark _tmp14_ = 0U;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label0 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label1 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label2 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label3 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label4 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label5 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label6 = 0;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp13_label7 = 0;
#line 11558 "PhotoPage.c"
	gboolean _tmp15_ = FALSE;
	gboolean _tmp16_ = FALSE;
#line 1749 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1749 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 1751 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1751 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 11569 "PhotoPage.c"
		EditingToolsEditingTool* _tmp1_ = NULL;
		GdkEventKey* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->current_tool;
#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = event;
#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_tools_editing_tool_on_keypress (_tmp1_, _tmp2_);
#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp3_) {
#line 1753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = TRUE;
#line 1753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 11585 "PhotoPage.c"
		}
	}
#line 1757 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = editing_host_page_is_panning_possible (self);
#line 1757 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 11592 "PhotoPage.c"
		GdkEventKey* _tmp5_ = NULL;
		gboolean _tmp6_ = FALSE;
#line 1758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = event;
#line 1758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = editing_host_page_on_keyboard_pan_event (self, _tmp5_);
#line 1758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp6_) {
#line 1759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			result = TRUE;
#line 1759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return result;
#line 11605 "PhotoPage.c"
		}
	}
#line 1765 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = event;
#line 1765 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = editing_host_page_on_zoom_slider_key_press (self, _tmp7_);
#line 1765 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp8_) {
#line 1766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 1766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 11618 "PhotoPage.c"
	}
#line 1768 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	handled = TRUE;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = event;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_->keyval;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = gdk_keyval_name (_tmp10_);
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = (NULL == _tmp12_) ? 0 : g_quark_from_string (_tmp12_);
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((_tmp14_ == ((0 != _tmp13_label0) ? _tmp13_label0 : (_tmp13_label0 = g_quark_from_static_string ("Down")))) || (_tmp14_ == ((0 != _tmp13_label1) ? _tmp13_label1 : (_tmp13_label1 = g_quark_from_static_string ("KP_Down"))))) {
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11636 "PhotoPage.c"
			default:
			{
#line 1775 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11641 "PhotoPage.c"
			}
		}
	} else if (((_tmp14_ == ((0 != _tmp13_label2) ? _tmp13_label2 : (_tmp13_label2 = g_quark_from_static_string ("equal")))) || (_tmp14_ == ((0 != _tmp13_label3) ? _tmp13_label3 : (_tmp13_label3 = g_quark_from_static_string ("plus"))))) || (_tmp14_ == ((0 != _tmp13_label4) ? _tmp13_label4 : (_tmp13_label4 = g_quark_from_static_string ("KP_Add"))))) {
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11647 "PhotoPage.c"
			default:
			{
#line 1780 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize");
#line 1781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11654 "PhotoPage.c"
			}
		}
	} else if (((_tmp14_ == ((0 != _tmp13_label5) ? _tmp13_label5 : (_tmp13_label5 = g_quark_from_static_string ("minus")))) || (_tmp14_ == ((0 != _tmp13_label6) ? _tmp13_label6 : (_tmp13_label6 = g_quark_from_static_string ("underscore"))))) || (_tmp14_ == ((0 != _tmp13_label7) ? _tmp13_label7 : (_tmp13_label7 = g_quark_from_static_string ("KP_Subtract"))))) {
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11660 "PhotoPage.c"
			default:
			{
#line 1787 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize");
#line 1788 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11667 "PhotoPage.c"
			}
		}
	} else {
#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 11673 "PhotoPage.c"
			default:
			{
#line 1791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				handled = FALSE;
#line 1792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 11680 "PhotoPage.c"
			}
		}
	}
#line 1795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = handled;
#line 1795 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp15_) {
#line 1796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 1796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 11692 "PhotoPage.c"
	}
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (GTK_WIDGET_CLASS (editing_host_page_parent_class)->key_press_event != NULL) {
#line 11696 "PhotoPage.c"
		GdkEventKey* _tmp17_ = NULL;
		gboolean _tmp18_ = FALSE;
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = event;
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = GTK_WIDGET_CLASS (editing_host_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), gtk_widget_get_type (), GtkWidget), _tmp17_);
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp18_;
#line 11705 "PhotoPage.c"
	} else {
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = TRUE;
#line 11709 "PhotoPage.c"
	}
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp16_;
#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11715 "PhotoPage.c"
}


static void editing_host_page_real_new_surface (SinglePhotoPage* base, cairo_t* default_ctx, Dimensions* dim) {
	EditingHostPage * self;
	EditingToolsEditingTool* _tmp0_ = NULL;
#line 1801 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1801 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (default_ctx != NULL);
#line 1801 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (dim != NULL);
#line 1803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 11732 "PhotoPage.c"
		EditingToolsEditingTool* _tmp1_ = NULL;
		EditingToolsPhotoCanvas* _tmp2_ = NULL;
		cairo_t* _tmp3_ = NULL;
		Dimensions _tmp4_ = {0};
#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->current_tool;
#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = _tmp1_->canvas;
#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = default_ctx;
#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = *dim;
#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_tools_photo_canvas_set_surface (_tmp2_, _tmp3_, &_tmp4_);
#line 11747 "PhotoPage.c"
	}
}


static void editing_host_page_real_updated_pixbuf (SinglePhotoPage* base, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim) {
	EditingHostPage * self;
	gboolean _tmp0_ = FALSE;
	EditingToolsEditingTool* _tmp1_ = NULL;
#line 1807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
#line 1807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (old_dim != NULL);
#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->current_tool;
#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ != NULL) {
#line 11766 "PhotoPage.c"
		SinglePhotoPageUpdateReason _tmp2_ = 0;
#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = reason;
#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_ != SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT;
#line 11772 "PhotoPage.c"
	} else {
#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 11776 "PhotoPage.c"
	}
#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 11780 "PhotoPage.c"
		EditingToolsEditingTool* _tmp3_ = NULL;
		EditingToolsPhotoCanvas* _tmp4_ = NULL;
		Dimensions _tmp5_ = {0};
		GdkPixbuf* _tmp6_ = NULL;
		GdkRectangle _tmp7_ = {0};
#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->current_tool;
#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_->canvas;
#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = *old_dim;
#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = pixbuf;
#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_scaled_pixbuf_position (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp7_);
#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_tools_photo_canvas_resized_pixbuf (_tmp4_, &_tmp5_, _tmp6_, &_tmp7_);
#line 1813 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (self->priv->cancel_editing_pixbuf);
#line 1813 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->cancel_editing_pixbuf = NULL;
#line 11802 "PhotoPage.c"
	}
}


static GdkPixbuf* editing_host_page_real_get_bottom_left_trinket (EditingHostPage* self, gint scale) {
	GdkPixbuf* result = NULL;
#line 1818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = NULL;
#line 1818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11813 "PhotoPage.c"
}


GdkPixbuf* editing_host_page_get_bottom_left_trinket (EditingHostPage* self, gint scale) {
#line 1817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 1817 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->get_bottom_left_trinket (self, scale);
#line 11822 "PhotoPage.c"
}


static GdkPixbuf* editing_host_page_real_get_top_left_trinket (EditingHostPage* self, gint scale) {
	GdkPixbuf* result = NULL;
#line 1822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = NULL;
#line 1822 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11832 "PhotoPage.c"
}


GdkPixbuf* editing_host_page_get_top_left_trinket (EditingHostPage* self, gint scale) {
#line 1821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 1821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->get_top_left_trinket (self, scale);
#line 11841 "PhotoPage.c"
}


static GdkPixbuf* editing_host_page_real_get_top_right_trinket (EditingHostPage* self, gint scale) {
	GdkPixbuf* result = NULL;
#line 1826 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = NULL;
#line 1826 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11851 "PhotoPage.c"
}


GdkPixbuf* editing_host_page_get_top_right_trinket (EditingHostPage* self, gint scale) {
#line 1825 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 1825 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->get_top_right_trinket (self, scale);
#line 11860 "PhotoPage.c"
}


static GdkPixbuf* editing_host_page_real_get_bottom_right_trinket (EditingHostPage* self, gint scale) {
	GdkPixbuf* result = NULL;
#line 1830 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = NULL;
#line 1830 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 11870 "PhotoPage.c"
}


GdkPixbuf* editing_host_page_get_bottom_right_trinket (EditingHostPage* self, gint scale) {
#line 1829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL);
#line 1829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return EDITING_HOST_PAGE_GET_CLASS (self)->get_bottom_right_trinket (self, scale);
#line 11879 "PhotoPage.c"
}


static void editing_host_page_real_paint (SinglePhotoPage* base, cairo_t* ctx, Dimensions* ctx_dim) {
	EditingHostPage * self;
	EditingToolsEditingTool* _tmp0_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	cairo_t* _tmp23_ = NULL;
	Dimensions _tmp24_ = {0};
	ZoomState _tmp25_ = {0};
	gboolean _tmp26_ = FALSE;
	GdkRectangle scaled_rect = {0};
	GdkRectangle _tmp27_ = {0};
	GdkPixbuf* trinket = NULL;
	GdkPixbuf* _tmp28_ = NULL;
	GdkPixbuf* _tmp29_ = NULL;
	GdkPixbuf* _tmp53_ = NULL;
	GdkPixbuf* _tmp54_ = NULL;
	GdkPixbuf* _tmp73_ = NULL;
	GdkPixbuf* _tmp74_ = NULL;
	GdkPixbuf* _tmp98_ = NULL;
	GdkPixbuf* _tmp99_ = NULL;
#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (ctx != NULL);
#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (ctx_dim != NULL);
#line 1834 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 1834 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ != NULL) {
#line 11913 "PhotoPage.c"
		EditingToolsEditingTool* _tmp1_ = NULL;
		cairo_t* _tmp2_ = NULL;
#line 1835 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = self->priv->current_tool;
#line 1835 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = ctx;
#line 1835 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_tools_editing_tool_paint (_tmp1_, _tmp2_);
#line 1837 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 11924 "PhotoPage.c"
	}
#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = self->priv->photo_missing;
#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 11930 "PhotoPage.c"
		gboolean _tmp5_ = FALSE;
#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = editing_host_page_has_photo (self);
#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp5_;
#line 11936 "PhotoPage.c"
	} else {
#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = FALSE;
#line 11940 "PhotoPage.c"
	}
#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_) {
#line 11944 "PhotoPage.c"
		cairo_t* _tmp6_ = NULL;
		cairo_t* _tmp7_ = NULL;
		Dimensions _tmp8_ = {0};
		gint _tmp9_ = 0;
		Dimensions _tmp10_ = {0};
		gint _tmp11_ = 0;
		cairo_t* _tmp12_ = NULL;
		cairo_t* _tmp13_ = NULL;
		const gchar* _tmp14_ = NULL;
		Photo* _tmp15_ = NULL;
		Photo* _tmp16_ = NULL;
		GFile* _tmp17_ = NULL;
		GFile* _tmp18_ = NULL;
		gchar* _tmp19_ = NULL;
		gchar* _tmp20_ = NULL;
		gchar* _tmp21_ = NULL;
		gchar* _tmp22_ = NULL;
#line 1841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = ctx;
#line 1841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		set_source_color_from_string (_tmp6_, "#000");
#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = ctx;
#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_);
#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = _tmp8_.width;
#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp10_);
#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = _tmp10_.height;
#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_rectangle (_tmp7_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp9_, (gdouble) _tmp11_);
#line 1843 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = ctx;
#line 1843 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_fill (_tmp12_);
#line 1844 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = ctx;
#line 1844 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_paint (_tmp13_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _ ("Photo source file missing: %s");
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = editing_host_page_get_photo (self);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = _tmp17_;
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = g_file_get_path (_tmp18_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp19_;
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = g_strdup_printf (_tmp14_, _tmp20_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = _tmp21_;
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_draw_message (self, _tmp22_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp22_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp20_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp18_);
#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp16_);
#line 1846 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12016 "PhotoPage.c"
	}
#line 1849 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = ctx;
#line 1849 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = *ctx_dim;
#line 1849 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->paint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp23_, &_tmp24_);
#line 1851 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp25_);
#line 1851 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = zoom_state_is_default (&_tmp25_);
#line 1851 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp26_) {
#line 1852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12032 "PhotoPage.c"
	}
#line 1855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_scaled_pixbuf_position (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp27_);
#line 1855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scaled_rect = _tmp27_;
#line 1857 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = editing_host_page_get_bottom_left_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE);
#line 1857 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	trinket = _tmp28_;
#line 1858 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = trinket;
#line 1858 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp29_ != NULL) {
#line 12046 "PhotoPage.c"
		gint x = 0;
		GdkRectangle _tmp30_ = {0};
		gint _tmp31_ = 0;
		gint y = 0;
		GdkRectangle _tmp32_ = {0};
		gint _tmp33_ = 0;
		GdkRectangle _tmp34_ = {0};
		gint _tmp35_ = 0;
		GdkPixbuf* _tmp36_ = NULL;
		gint _tmp37_ = 0;
		gint _tmp38_ = 0;
		cairo_t* _tmp39_ = NULL;
		GdkPixbuf* _tmp40_ = NULL;
		gint _tmp41_ = 0;
		gint _tmp42_ = 0;
		cairo_t* _tmp43_ = NULL;
		gint _tmp44_ = 0;
		gint _tmp45_ = 0;
		GdkPixbuf* _tmp46_ = NULL;
		gint _tmp47_ = 0;
		gint _tmp48_ = 0;
		GdkPixbuf* _tmp49_ = NULL;
		gint _tmp50_ = 0;
		gint _tmp51_ = 0;
		cairo_t* _tmp52_ = NULL;
#line 1859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = scaled_rect;
#line 1859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = _tmp30_.x;
#line 1859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		x = _tmp31_ + EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = scaled_rect;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp33_ = _tmp32_.y;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp34_ = scaled_rect;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp35_ = _tmp34_.height;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp36_ = trinket;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = gdk_pixbuf_get_height (_tmp36_);
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp38_ = _tmp37_;
#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		y = ((_tmp33_ + _tmp35_) - _tmp38_) - EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp39_ = ctx;
#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp40_ = trinket;
#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp41_ = x;
#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp42_ = y;
#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gdk_cairo_set_source_pixbuf (_tmp39_, _tmp40_, (gdouble) _tmp41_, (gdouble) _tmp42_);
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp43_ = ctx;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp44_ = x;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp45_ = y;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp46_ = trinket;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp47_ = gdk_pixbuf_get_width (_tmp46_);
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp48_ = _tmp47_;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp49_ = trinket;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp50_ = gdk_pixbuf_get_height (_tmp49_);
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp51_ = _tmp50_;
#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_rectangle (_tmp43_, (gdouble) _tmp44_, (gdouble) _tmp45_, (gdouble) _tmp48_, (gdouble) _tmp51_);
#line 1863 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp52_ = ctx;
#line 1863 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_fill (_tmp52_);
#line 12128 "PhotoPage.c"
	}
#line 1866 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_ = editing_host_page_get_top_left_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE);
#line 1866 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (trinket);
#line 1866 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	trinket = _tmp53_;
#line 1867 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp54_ = trinket;
#line 1867 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp54_ != NULL) {
#line 12140 "PhotoPage.c"
		gint x = 0;
		GdkRectangle _tmp55_ = {0};
		gint _tmp56_ = 0;
		gint y = 0;
		GdkRectangle _tmp57_ = {0};
		gint _tmp58_ = 0;
		cairo_t* _tmp59_ = NULL;
		GdkPixbuf* _tmp60_ = NULL;
		gint _tmp61_ = 0;
		gint _tmp62_ = 0;
		cairo_t* _tmp63_ = NULL;
		gint _tmp64_ = 0;
		gint _tmp65_ = 0;
		GdkPixbuf* _tmp66_ = NULL;
		gint _tmp67_ = 0;
		gint _tmp68_ = 0;
		GdkPixbuf* _tmp69_ = NULL;
		gint _tmp70_ = 0;
		gint _tmp71_ = 0;
		cairo_t* _tmp72_ = NULL;
#line 1868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp55_ = scaled_rect;
#line 1868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp56_ = _tmp55_.x;
#line 1868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		x = _tmp56_ + EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp57_ = scaled_rect;
#line 1869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp58_ = _tmp57_.y;
#line 1869 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		y = _tmp58_ + EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp59_ = ctx;
#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp60_ = trinket;
#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp61_ = x;
#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp62_ = y;
#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gdk_cairo_set_source_pixbuf (_tmp59_, _tmp60_, (gdouble) _tmp61_, (gdouble) _tmp62_);
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp63_ = ctx;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp64_ = x;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp65_ = y;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp66_ = trinket;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp67_ = gdk_pixbuf_get_width (_tmp66_);
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp68_ = _tmp67_;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp69_ = trinket;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp70_ = gdk_pixbuf_get_height (_tmp69_);
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp71_ = _tmp70_;
#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_rectangle (_tmp63_, (gdouble) _tmp64_, (gdouble) _tmp65_, (gdouble) _tmp68_, (gdouble) _tmp71_);
#line 1872 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp72_ = ctx;
#line 1872 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_fill (_tmp72_);
#line 12207 "PhotoPage.c"
	}
#line 1875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp73_ = editing_host_page_get_top_right_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE);
#line 1875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (trinket);
#line 1875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	trinket = _tmp73_;
#line 1876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_ = trinket;
#line 1876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp74_ != NULL) {
#line 12219 "PhotoPage.c"
		gint x = 0;
		GdkRectangle _tmp75_ = {0};
		gint _tmp76_ = 0;
		GdkRectangle _tmp77_ = {0};
		gint _tmp78_ = 0;
		GdkPixbuf* _tmp79_ = NULL;
		gint _tmp80_ = 0;
		gint _tmp81_ = 0;
		gint y = 0;
		GdkRectangle _tmp82_ = {0};
		gint _tmp83_ = 0;
		cairo_t* _tmp84_ = NULL;
		GdkPixbuf* _tmp85_ = NULL;
		gint _tmp86_ = 0;
		gint _tmp87_ = 0;
		cairo_t* _tmp88_ = NULL;
		gint _tmp89_ = 0;
		gint _tmp90_ = 0;
		GdkPixbuf* _tmp91_ = NULL;
		gint _tmp92_ = 0;
		gint _tmp93_ = 0;
		GdkPixbuf* _tmp94_ = NULL;
		gint _tmp95_ = 0;
		gint _tmp96_ = 0;
		cairo_t* _tmp97_ = NULL;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp75_ = scaled_rect;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp76_ = _tmp75_.x;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp77_ = scaled_rect;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp78_ = _tmp77_.width;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp79_ = trinket;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp80_ = gdk_pixbuf_get_width (_tmp79_);
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp81_ = _tmp80_;
#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		x = ((_tmp76_ + _tmp78_) - _tmp81_) - EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1878 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp82_ = scaled_rect;
#line 1878 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp83_ = _tmp82_.y;
#line 1878 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		y = _tmp83_ + EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp84_ = ctx;
#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp85_ = trinket;
#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp86_ = x;
#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp87_ = y;
#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gdk_cairo_set_source_pixbuf (_tmp84_, _tmp85_, (gdouble) _tmp86_, (gdouble) _tmp87_);
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp88_ = ctx;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp89_ = x;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp90_ = y;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp91_ = trinket;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp92_ = gdk_pixbuf_get_width (_tmp91_);
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp93_ = _tmp92_;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp94_ = trinket;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp95_ = gdk_pixbuf_get_height (_tmp94_);
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp96_ = _tmp95_;
#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_rectangle (_tmp88_, (gdouble) _tmp89_, (gdouble) _tmp90_, (gdouble) _tmp93_, (gdouble) _tmp96_);
#line 1881 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp97_ = ctx;
#line 1881 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_fill (_tmp97_);
#line 12301 "PhotoPage.c"
	}
#line 1884 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_ = editing_host_page_get_bottom_right_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE);
#line 1884 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (trinket);
#line 1884 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	trinket = _tmp98_;
#line 1885 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp99_ = trinket;
#line 1885 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp99_ != NULL) {
#line 12313 "PhotoPage.c"
		gint x = 0;
		GdkRectangle _tmp100_ = {0};
		gint _tmp101_ = 0;
		GdkRectangle _tmp102_ = {0};
		gint _tmp103_ = 0;
		GdkPixbuf* _tmp104_ = NULL;
		gint _tmp105_ = 0;
		gint _tmp106_ = 0;
		gint y = 0;
		GdkRectangle _tmp107_ = {0};
		gint _tmp108_ = 0;
		GdkRectangle _tmp109_ = {0};
		gint _tmp110_ = 0;
		GdkPixbuf* _tmp111_ = NULL;
		gint _tmp112_ = 0;
		gint _tmp113_ = 0;
		cairo_t* _tmp114_ = NULL;
		GdkPixbuf* _tmp115_ = NULL;
		gint _tmp116_ = 0;
		gint _tmp117_ = 0;
		cairo_t* _tmp118_ = NULL;
		gint _tmp119_ = 0;
		gint _tmp120_ = 0;
		GdkPixbuf* _tmp121_ = NULL;
		gint _tmp122_ = 0;
		gint _tmp123_ = 0;
		GdkPixbuf* _tmp124_ = NULL;
		gint _tmp125_ = 0;
		gint _tmp126_ = 0;
		cairo_t* _tmp127_ = NULL;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp100_ = scaled_rect;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp101_ = _tmp100_.x;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp102_ = scaled_rect;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp103_ = _tmp102_.width;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp104_ = trinket;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp105_ = gdk_pixbuf_get_width (_tmp104_);
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp106_ = _tmp105_;
#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		x = ((_tmp101_ + _tmp103_) - _tmp106_) - EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp107_ = scaled_rect;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp108_ = _tmp107_.y;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp109_ = scaled_rect;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp110_ = _tmp109_.height;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp111_ = trinket;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp112_ = gdk_pixbuf_get_height (_tmp111_);
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp113_ = _tmp112_;
#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		y = ((_tmp108_ + _tmp110_) - _tmp113_) - EDITING_HOST_PAGE_TRINKET_PADDING;
#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp114_ = ctx;
#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp115_ = trinket;
#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp116_ = x;
#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp117_ = y;
#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gdk_cairo_set_source_pixbuf (_tmp114_, _tmp115_, (gdouble) _tmp116_, (gdouble) _tmp117_);
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp118_ = ctx;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp119_ = x;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp120_ = y;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp121_ = trinket;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp122_ = gdk_pixbuf_get_width (_tmp121_);
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp123_ = _tmp122_;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp124_ = trinket;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp125_ = gdk_pixbuf_get_height (_tmp124_);
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp126_ = _tmp125_;
#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_rectangle (_tmp118_, (gdouble) _tmp119_, (gdouble) _tmp120_, (gdouble) _tmp123_, (gdouble) _tmp126_);
#line 1890 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp127_ = ctx;
#line 1890 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		cairo_fill (_tmp127_);
#line 12410 "PhotoPage.c"
	}
#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (trinket);
#line 12414 "PhotoPage.c"
}


gboolean editing_host_page_is_rotate_available (EditingHostPage* self, Photo* photo) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 1894 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 1894 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (photo), FALSE);
#line 1895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->photo_missing;
#line 1895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = !_tmp0_;
#line 1895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 12431 "PhotoPage.c"
}


static void editing_host_page_rotate (EditingHostPage* self, Rotation rotation, const gchar* name, const gchar* description) {
	Dimensions _tmp0_ = {0};
	gboolean _tmp1_ = FALSE;
	RotateSingleCommand* command = NULL;
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	Rotation _tmp4_ = 0;
	const gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	RotateSingleCommand* _tmp7_ = NULL;
	RotateSingleCommand* _tmp8_ = NULL;
	CommandManager* _tmp9_ = NULL;
	CommandManager* _tmp10_ = NULL;
	RotateSingleCommand* _tmp11_ = NULL;
#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (name != NULL);
#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (description != NULL);
#line 1899 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1901 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 1901 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 1903 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (self);
#line 1903 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 1904 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12467 "PhotoPage.c"
	}
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_get_photo (self);
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = rotation;
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = name;
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = description;
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = rotate_single_command_new (_tmp3_, _tmp4_, _tmp5_, _tmp6_);
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp8_;
#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = command;
#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command));
#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp10_);
#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 12499 "PhotoPage.c"
}


void editing_host_page_on_rotate_clockwise (EditingHostPage* self) {
#line 1911 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1912 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rotate (self, ROTATION_CLOCKWISE, RESOURCES_ROTATE_CW_FULL_LABEL, RESOURCES_ROTATE_CW_TOOLTIP);
#line 12508 "PhotoPage.c"
}


void editing_host_page_on_rotate_counterclockwise (EditingHostPage* self) {
#line 1915 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rotate (self, ROTATION_COUNTERCLOCKWISE, RESOURCES_ROTATE_CCW_FULL_LABEL, RESOURCES_ROTATE_CCW_TOOLTIP);
#line 12517 "PhotoPage.c"
}


void editing_host_page_on_flip_horizontally (EditingHostPage* self) {
#line 1919 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1920 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rotate (self, ROTATION_MIRROR, RESOURCES_HFLIP_LABEL, "");
#line 12526 "PhotoPage.c"
}


void editing_host_page_on_flip_vertically (EditingHostPage* self) {
#line 1923 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1924 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_rotate (self, ROTATION_UPSIDE_DOWN, RESOURCES_VFLIP_LABEL, "");
#line 12535 "PhotoPage.c"
}


void editing_host_page_on_revert (EditingHostPage* self) {
	gboolean _tmp0_ = FALSE;
	Dimensions _tmp1_ = {0};
	gboolean _tmp2_ = FALSE;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	RevertSingleCommand* command = NULL;
	Photo* _tmp17_ = NULL;
	Photo* _tmp18_ = NULL;
	RevertSingleCommand* _tmp19_ = NULL;
	RevertSingleCommand* _tmp20_ = NULL;
	CommandManager* _tmp21_ = NULL;
	CommandManager* _tmp22_ = NULL;
	RevertSingleCommand* _tmp23_ = NULL;
#line 1927 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->photo_missing;
#line 1928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 1929 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12563 "PhotoPage.c"
	}
#line 1931 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp1_, 0, 0);
#line 1931 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp1_, FALSE);
#line 1933 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_has_photo (self);
#line 1933 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp2_) {
#line 1934 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12575 "PhotoPage.c"
	}
#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (self);
#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = photo_has_editable (_tmp4_);
#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp4_);
#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_) {
#line 12589 "PhotoPage.c"
		AppWindow* _tmp7_ = NULL;
		AppWindow* _tmp8_ = NULL;
		ViewCollection* _tmp9_ = NULL;
		ViewCollection* _tmp10_ = NULL;
		GeeCollection* _tmp11_ = NULL;
		GeeCollection* _tmp12_ = NULL;
		gboolean _tmp13_ = FALSE;
		gboolean _tmp14_ = FALSE;
		Photo* _tmp15_ = NULL;
		Photo* _tmp16_ = NULL;
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = app_window_get_instance ();
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp9_;
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = view_collection_get_sources (_tmp10_);
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection);
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = revert_editable_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), _tmp12_);
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = !_tmp13_;
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp12_);
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp10_);
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp14_) {
#line 1939 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			return;
#line 12626 "PhotoPage.c"
		}
#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = editing_host_page_get_photo (self);
#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		photo_revert_to_master (_tmp16_, TRUE);
#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp16_);
#line 12636 "PhotoPage.c"
	}
#line 1945 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 1947 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_set_photo_missing (self, FALSE);
#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = editing_host_page_get_photo (self);
#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = _tmp17_;
#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = revert_single_command_new (_tmp18_);
#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = _tmp19_;
#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp18_);
#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp20_;
#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = _tmp21_;
#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = command;
#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command));
#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp22_);
#line 1927 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 12666 "PhotoPage.c"
}


void editing_host_page_on_edit_title (EditingHostPage* self) {
	LibraryPhoto* item = NULL;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	EditTitleDialog* edit_title_dialog = NULL;
	LibraryPhoto* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	EditTitleDialog* _tmp8_ = NULL;
	EditTitleDialog* _tmp9_ = NULL;
	gchar* new_title = NULL;
	EditTitleDialog* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	const gchar* _tmp12_ = NULL;
	EditTitleCommand* command = NULL;
	LibraryPhoto* _tmp13_ = NULL;
	const gchar* _tmp14_ = NULL;
	EditTitleCommand* _tmp15_ = NULL;
	CommandManager* _tmp16_ = NULL;
	CommandManager* _tmp17_ = NULL;
	EditTitleCommand* _tmp18_ = NULL;
#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (self);
#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_LIBRARY_PHOTO);
#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 12704 "PhotoPage.c"
		Photo* _tmp3_ = NULL;
		LibraryPhoto* _tmp4_ = NULL;
#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (self);
#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp3_) : NULL;
#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp4_ == NULL) {
#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp3_);
#line 12715 "PhotoPage.c"
		}
#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (item);
#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		item = _tmp4_;
#line 12721 "PhotoPage.c"
	} else {
#line 1958 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (item);
#line 1958 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12727 "PhotoPage.c"
	}
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = item;
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = edit_title_dialog_new (_tmp7_);
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp7_);
#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_title_dialog = _tmp9_;
#line 1961 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = edit_title_dialog;
#line 1961 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = edit_title_dialog_execute (_tmp10_);
#line 1961 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	new_title = _tmp11_;
#line 1962 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = new_title;
#line 1962 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp12_ == NULL) {
#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (new_title);
#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_text_entry_dialog_mediator_unref0 (edit_title_dialog);
#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (item);
#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12761 "PhotoPage.c"
	}
#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = item;
#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = new_title;
#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = edit_title_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource), _tmp14_);
#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp15_;
#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = _tmp16_;
#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = command;
#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_COMMAND, Command));
#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp17_);
#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (new_title);
#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_text_entry_dialog_mediator_unref0 (edit_title_dialog);
#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (item);
#line 12789 "PhotoPage.c"
}


void editing_host_page_on_edit_comment (EditingHostPage* self) {
	LibraryPhoto* item = NULL;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	EditCommentDialog* edit_comment_dialog = NULL;
	LibraryPhoto* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	EditCommentDialog* _tmp8_ = NULL;
	EditCommentDialog* _tmp9_ = NULL;
	gchar* new_comment = NULL;
	EditCommentDialog* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	const gchar* _tmp12_ = NULL;
	EditCommentCommand* command = NULL;
	LibraryPhoto* _tmp13_ = NULL;
	const gchar* _tmp14_ = NULL;
	EditCommentCommand* _tmp15_ = NULL;
	CommandManager* _tmp16_ = NULL;
	CommandManager* _tmp17_ = NULL;
	EditCommentCommand* _tmp18_ = NULL;
#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (self);
#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_LIBRARY_PHOTO);
#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_) {
#line 12827 "PhotoPage.c"
		Photo* _tmp3_ = NULL;
		LibraryPhoto* _tmp4_ = NULL;
#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (self);
#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp3_) : NULL;
#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp4_ == NULL) {
#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp3_);
#line 12838 "PhotoPage.c"
		}
#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (item);
#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		item = _tmp4_;
#line 12844 "PhotoPage.c"
	} else {
#line 1974 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (item);
#line 1974 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12850 "PhotoPage.c"
	}
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = item;
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = edit_comment_dialog_new (_tmp7_, FALSE);
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp7_);
#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_comment_dialog = _tmp9_;
#line 1977 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = edit_comment_dialog;
#line 1977 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = edit_comment_dialog_execute (_tmp10_);
#line 1977 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	new_comment = _tmp11_;
#line 1978 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = new_comment;
#line 1978 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp12_ == NULL) {
#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (new_comment);
#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog);
#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (item);
#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12884 "PhotoPage.c"
	}
#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = item;
#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = new_comment;
#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = edit_comment_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource), _tmp14_);
#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp15_;
#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = _tmp16_;
#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = command;
#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_COMMAND, Command));
#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp17_);
#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (new_comment);
#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog);
#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (item);
#line 12912 "PhotoPage.c"
}


void editing_host_page_on_adjust_date_time (EditingHostPage* self) {
	gboolean _tmp0_ = FALSE;
	AdjustDateTimeDialog* dialog = NULL;
	Photo* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	AdjustDateTimeDialog* _tmp3_ = NULL;
	AdjustDateTimeDialog* _tmp4_ = NULL;
	gint64 time_shift = 0LL;
	gboolean keep_relativity = FALSE;
	gboolean modify_originals = FALSE;
	AdjustDateTimeDialog* _tmp5_ = NULL;
	gint64 _tmp6_ = 0LL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
#line 1985 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 1986 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (self);
#line 1986 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp0_) {
#line 1987 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 12939 "PhotoPage.c"
	}
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_get_photo (self);
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = adjust_date_time_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATEABLE, Dateable), 1, !G_TYPE_CHECK_INSTANCE_TYPE (self, TYPE_DIRECT_PHOTO_PAGE), FALSE, FALSE);
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp3_);
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dialog = _tmp4_;
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = dialog;
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = adjust_date_time_dialog_execute (_tmp5_, &_tmp6_, &_tmp7_, &_tmp8_);
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	time_shift = _tmp6_;
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	keep_relativity = _tmp7_;
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	modify_originals = _tmp8_;
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp9_) {
#line 12967 "PhotoPage.c"
		ViewCollection* _tmp10_ = NULL;
		ViewCollection* _tmp11_ = NULL;
		GeeList* _tmp12_ = NULL;
		GeeList* _tmp13_ = NULL;
		AdjustDateTimePhotoCommand* command = NULL;
		Photo* _tmp14_ = NULL;
		Photo* _tmp15_ = NULL;
		gint64 _tmp16_ = 0LL;
		gboolean _tmp17_ = FALSE;
		AdjustDateTimePhotoCommand* _tmp18_ = NULL;
		AdjustDateTimePhotoCommand* _tmp19_ = NULL;
		CommandManager* _tmp20_ = NULL;
		CommandManager* _tmp21_ = NULL;
		AdjustDateTimePhotoCommand* _tmp22_ = NULL;
#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = _tmp10_;
#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = view_collection_get_selected (_tmp11_);
#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = _tmp12_;
#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp13_);
#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp11_);
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = editing_host_page_get_photo (self);
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = _tmp14_;
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = time_shift;
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = modify_originals;
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = adjust_date_time_photo_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATEABLE, Dateable), _tmp16_, _tmp17_);
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp15_);
#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command = _tmp19_;
#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = _tmp20_;
#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = command;
#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command_manager_execute (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_COMMAND, Command));
#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_command_manager_unref0 (_tmp21_);
#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (command);
#line 13022 "PhotoPage.c"
	}
#line 1985 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (dialog);
#line 13026 "PhotoPage.c"
}


void editing_host_page_on_set_background (EditingHostPage* self) {
	gboolean _tmp0_ = FALSE;
#line 2002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (self);
#line 2003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 13038 "PhotoPage.c"
		SetBackgroundPhotoDialog* dialog = NULL;
		SetBackgroundPhotoDialog* _tmp1_ = NULL;
		gboolean desktop = FALSE;
		gboolean screensaver = FALSE;
		SetBackgroundPhotoDialog* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
#line 2004 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = set_background_photo_dialog_new ();
#line 2004 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		dialog = _tmp1_;
#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = dialog;
#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = set_background_photo_dialog_execute (_tmp2_, &_tmp3_, &_tmp4_);
#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		desktop = _tmp3_;
#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		screensaver = _tmp4_;
#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp5_) {
#line 13061 "PhotoPage.c"
			AppWindow* _tmp6_ = NULL;
			AppWindow* _tmp7_ = NULL;
			Photo* _tmp8_ = NULL;
			Photo* _tmp9_ = NULL;
			gboolean _tmp10_ = FALSE;
			gboolean _tmp11_ = FALSE;
			AppWindow* _tmp12_ = NULL;
			AppWindow* _tmp13_ = NULL;
#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp6_ = app_window_get_instance ();
#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = _tmp6_;
#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PAGE_WINDOW, PageWindow));
#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp7_);
#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = editing_host_page_get_photo (self);
#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = _tmp8_;
#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp10_ = desktop;
#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp11_ = screensaver;
#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			desktop_integration_set_background (_tmp9_, _tmp10_, _tmp11_);
#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp9_);
#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp12_ = app_window_get_instance ();
#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = _tmp12_;
#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PAGE_WINDOW, PageWindow));
#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp13_);
#line 13098 "PhotoPage.c"
		}
#line 2003 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_set_background_dialog_unref0 (dialog);
#line 13102 "PhotoPage.c"
	}
}


static void _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
#line 2019 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_rotate_counterclockwise ((EditingHostPage*) self);
#line 13110 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	GtkToolButton* _tmp0_ = NULL;
	GtkToolButton* _tmp1_ = NULL;
	GtkToolButton* _tmp2_ = NULL;
	GtkToolButton* _tmp3_ = NULL;
	guint _tmp4_ = 0U;
	GtkToolButton* _tmp5_ = NULL;
	EditingToolsEditingTool* _tmp6_ = NULL;
	GdkEventKey* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
#line 2014 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 2015 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->rotate_button;
#line 2015 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (_tmp0_, RESOURCES_COUNTERCLOCKWISE);
#line 2016 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->rotate_button;
#line 2016 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (_tmp1_, RESOURCES_ROTATE_CCW_LABEL);
#line 2017 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->rotate_button;
#line 2017 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CCW_TOOLTIP);
#line 2018 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->rotate_button;
#line 2018 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("clicked", gtk_tool_button_get_type (), &_tmp4_, NULL, FALSE);
#line 2018 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked, self);
#line 2019 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = self->priv->rotate_button;
#line 2019 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp5_, "clicked", (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked, self, 0);
#line 2021 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = self->priv->current_tool;
#line 2021 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_ == NULL) {
#line 2022 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_swap_out_original (self);
#line 13156 "PhotoPage.c"
	}
#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = event;
#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = PAGE_CLASS (editing_host_page_parent_class)->on_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp7_);
#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp8_;
#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13166 "PhotoPage.c"
}


static gboolean editing_host_page_real_on_ctrl_released (Page* base, GdkEventKey* event) {
	EditingHostPage * self;
	gboolean result = FALSE;
	GtkToolButton* _tmp0_ = NULL;
	GtkToolButton* _tmp1_ = NULL;
	GtkToolButton* _tmp2_ = NULL;
	GtkToolButton* _tmp3_ = NULL;
	guint _tmp4_ = 0U;
	GtkToolButton* _tmp5_ = NULL;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp7_ = FALSE;
	EditingToolsEditingTool* _tmp8_ = NULL;
	GdkEventKey* _tmp11_ = NULL;
	gboolean _tmp12_ = FALSE;
#line 2027 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 2028 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->rotate_button;
#line 2028 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_icon_name (_tmp0_, RESOURCES_CLOCKWISE);
#line 2029 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->rotate_button;
#line 2029 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_button_set_label (_tmp1_, RESOURCES_ROTATE_CW_LABEL);
#line 2030 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->rotate_button;
#line 2030 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CW_TOOLTIP);
#line 2031 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->rotate_button;
#line 2031 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("clicked", gtk_tool_button_get_type (), &_tmp4_, NULL, FALSE);
#line 2031 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked, self);
#line 2032 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = self->priv->rotate_button;
#line 2032 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp5_, "clicked", (GCallback) _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked, self, 0);
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = self->priv->current_tool;
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp8_ == NULL) {
#line 13212 "PhotoPage.c"
		gboolean _tmp9_ = FALSE;
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = page_get_shift_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp9_;
#line 13218 "PhotoPage.c"
	} else {
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = FALSE;
#line 13222 "PhotoPage.c"
	}
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp7_) {
#line 13226 "PhotoPage.c"
		gboolean _tmp10_ = FALSE;
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = page_get_alt_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = !_tmp10_;
#line 13232 "PhotoPage.c"
	} else {
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = FALSE;
#line 13236 "PhotoPage.c"
	}
#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp6_) {
#line 2035 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_swap_in_original (self);
#line 13242 "PhotoPage.c"
	}
#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = event;
#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = PAGE_CLASS (editing_host_page_parent_class)->on_ctrl_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp11_);
#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp12_;
#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13252 "PhotoPage.c"
}


void editing_host_page_on_tool_button_toggled (EditingHostPage* self, GtkToggleToolButton* toggle, EditingToolsEditingToolFactory factory) {
	gboolean _tmp0_ = FALSE;
	GtkToggleToolButton* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gboolean deactivating_only = FALSE;
	Dimensions _tmp6_ = {0};
	gboolean _tmp7_ = FALSE;
	GtkToggleToolButton* _tmp8_ = NULL;
	GtkToggleToolButton* _tmp9_ = NULL;
	EditingToolsEditingTool* tool = NULL;
	EditingToolsEditingToolFactory _tmp10_ = NULL;
	EditingToolsEditingTool* _tmp11_ = NULL;
	EditingToolsEditingTool* _tmp12_ = NULL;
	EditingToolsEditingTool* _tmp13_ = NULL;
	EditingToolsEditingTool* _tmp14_ = NULL;
	EditingToolsEditingTool* _tmp15_ = NULL;
	EditingToolsEditingTool* _tmp16_ = NULL;
	EditingToolsEditingTool* _tmp17_ = NULL;
#line 2040 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2040 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GTK_IS_TOGGLE_TOOL_BUTTON (toggle));
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = toggle;
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_);
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp3_) {
#line 13287 "PhotoPage.c"
		GtkToggleToolButton* _tmp4_ = NULL;
		GtkToggleToolButton* _tmp5_ = NULL;
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = self->priv->current_editing_toggle;
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = toggle;
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp4_ == _tmp5_;
#line 13296 "PhotoPage.c"
	} else {
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 13300 "PhotoPage.c"
	}
#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	deactivating_only = _tmp0_;
#line 2044 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp6_, 0, 0);
#line 2044 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp6_, FALSE);
#line 2046 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = deactivating_only;
#line 2046 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp7_) {
#line 2047 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_restore_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2048 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13316 "PhotoPage.c"
	}
#line 2051 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_suspend_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = toggle;
#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _g_object_ref0 (_tmp8_);
#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->current_editing_toggle);
#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->current_editing_toggle = _tmp9_;
#line 2056 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = factory;
#line 2056 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = _tmp10_ ();
#line 2056 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tool = _tmp11_;
#line 2057 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = tool;
#line 2057 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp12_, "activated", (GCallback) _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated, self, 0);
#line 2058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = tool;
#line 2058 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp13_, "deactivated", (GCallback) _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated, self, 0);
#line 2059 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = tool;
#line 2059 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp14_, "applied", (GCallback) _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied, self, 0);
#line 2060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = tool;
#line 2060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp15_, "cancelled", (GCallback) _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled, self, 0);
#line 2061 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = tool;
#line 2061 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (_tmp16_, "aborted", (GCallback) _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted, self, 0);
#line 2063 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = tool;
#line 2063 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_activate_tool (self, _tmp17_);
#line 2040 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (tool);
#line 13360 "PhotoPage.c"
}


static void editing_host_page_on_tool_activated (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
	GtkScale* _tmp1_ = NULL;
	GtkToggleToolButton* _tmp2_ = NULL;
#line 2066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2067 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_editing_toggle;
#line 2067 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp0_ != NULL, "current_editing_toggle != null");
#line 2068 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->zoom_slider;
#line 2068 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 2069 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->current_editing_toggle;
#line 2069 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toggle_tool_button_set_active (_tmp2_, TRUE);
#line 13382 "PhotoPage.c"
}


static void editing_host_page_on_tool_deactivated (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
	GtkScale* _tmp1_ = NULL;
	GtkToggleToolButton* _tmp2_ = NULL;
#line 2072 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_editing_toggle;
#line 2073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp0_ != NULL, "current_editing_toggle != null");
#line 2074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->zoom_slider;
#line 2074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), TRUE);
#line 2075 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = self->priv->current_editing_toggle;
#line 2075 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toggle_tool_button_set_active (_tmp2_, FALSE);
#line 13404 "PhotoPage.c"
}


static void editing_host_page_on_tool_applied (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement) {
	Command* _tmp0_ = NULL;
	GdkPixbuf* _tmp1_ = NULL;
	Dimensions _tmp2_ = {0};
	gboolean _tmp3_ = FALSE;
#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail ((command == NULL) || IS_COMMAND (command));
#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail ((new_pixbuf == NULL) || GDK_IS_PIXBUF (new_pixbuf));
#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (new_max_dim != NULL);
#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = command;
#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = new_pixbuf;
#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = *new_max_dim;
#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = needs_improvement;
#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, _tmp0_, _tmp1_, &_tmp2_, _tmp3_);
#line 13431 "PhotoPage.c"
}


static void editing_host_page_on_tool_cancelled (EditingHostPage* self) {
	Dimensions _tmp0_ = {0};
#line 2083 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2084 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 2084 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 2086 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_restore_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 2087 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 13447 "PhotoPage.c"
}


static void editing_host_page_on_tool_aborted (EditingHostPage* self) {
	Dimensions _tmp0_ = {0};
#line 2090 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2091 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 2091 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 2092 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_set_photo_missing (self, TRUE);
#line 13461 "PhotoPage.c"
}


void editing_host_page_toggle_crop (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
	GtkToggleToolButton* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 2095 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->crop_button;
#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->crop_button;
#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_);
#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_);
#line 13479 "PhotoPage.c"
}


void editing_host_page_toggle_straighten (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
	GtkToggleToolButton* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 2099 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->straighten_button;
#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->straighten_button;
#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_);
#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_);
#line 13497 "PhotoPage.c"
}


void editing_host_page_toggle_redeye (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
	GtkToggleToolButton* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 2103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->redeye_button;
#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->redeye_button;
#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_);
#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_);
#line 13515 "PhotoPage.c"
}


void editing_host_page_toggle_adjust (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
	GtkToggleToolButton* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 2107 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->adjust_button;
#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->adjust_button;
#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_);
#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_);
#line 13533 "PhotoPage.c"
}


static EditingToolsEditingTool* _editing_tools_straighten_tool_factory_editing_tools_editing_tool_factory (void) {
	EditingToolsEditingTool* result;
	result = editing_tools_straighten_tool_factory ();
#line 2112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13542 "PhotoPage.c"
}


static void editing_host_page_on_straighten_toggled (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
#line 2111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->straighten_button;
#line 2112 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_straighten_tool_factory_editing_tools_editing_tool_factory);
#line 13554 "PhotoPage.c"
}


static EditingToolsEditingTool* _editing_tools_crop_tool_factory_editing_tools_editing_tool_factory (void) {
	EditingToolsEditingTool* result;
	result = editing_tools_crop_tool_factory ();
#line 2116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13563 "PhotoPage.c"
}


static void editing_host_page_on_crop_toggled (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
#line 2115 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->crop_button;
#line 2116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_crop_tool_factory_editing_tools_editing_tool_factory);
#line 13575 "PhotoPage.c"
}


static EditingToolsEditingTool* _editing_tools_redeye_tool_factory_editing_tools_editing_tool_factory (void) {
	EditingToolsEditingTool* result;
	result = editing_tools_redeye_tool_factory ();
#line 2120 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13584 "PhotoPage.c"
}


static void editing_host_page_on_redeye_toggled (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
#line 2119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2120 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->redeye_button;
#line 2120 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_redeye_tool_factory_editing_tools_editing_tool_factory);
#line 13596 "PhotoPage.c"
}


static EditingToolsEditingTool* _editing_tools_adjust_tool_factory_editing_tools_editing_tool_factory (void) {
	EditingToolsEditingTool* result;
	result = editing_tools_adjust_tool_factory ();
#line 2124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13605 "PhotoPage.c"
}


static void editing_host_page_on_adjust_toggled (EditingHostPage* self) {
	GtkToggleToolButton* _tmp0_ = NULL;
#line 2123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->adjust_button;
#line 2124 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_adjust_tool_factory_editing_tools_editing_tool_factory);
#line 13617 "PhotoPage.c"
}


gboolean editing_host_page_is_enhance_available (EditingHostPage* self, Photo* photo) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 2127 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 2127 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_PHOTO (photo), FALSE);
#line 2128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->photo_missing;
#line 2128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = !_tmp0_;
#line 2128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 13634 "PhotoPage.c"
}


void editing_host_page_on_enhance (EditingHostPage* self) {
	EditingToolsEditingTool* _tmp0_ = NULL;
	gboolean _tmp2_ = FALSE;
	EditingToolsAdjustTool* adjust_tool = NULL;
	EditingToolsEditingTool* _tmp3_ = NULL;
	EditingToolsAdjustTool* _tmp4_ = NULL;
	EditingToolsAdjustTool* _tmp5_ = NULL;
	EnhanceSingleCommand* command = NULL;
	Photo* _tmp7_ = NULL;
	Photo* _tmp8_ = NULL;
	EnhanceSingleCommand* _tmp9_ = NULL;
	EnhanceSingleCommand* _tmp10_ = NULL;
	CommandManager* _tmp11_ = NULL;
	CommandManager* _tmp12_ = NULL;
	EnhanceSingleCommand* _tmp13_ = NULL;
#line 2131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2135 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 2135 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, EDITING_TOOLS_TYPE_ADJUST_TOOL)) {
#line 13659 "PhotoPage.c"
		Dimensions _tmp1_ = {0};
#line 2136 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		dimensions_init (&_tmp1_, 0, 0);
#line 2136 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp1_, FALSE);
#line 2138 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 13667 "PhotoPage.c"
	}
#line 2141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_has_photo (self);
#line 2141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp2_) {
#line 2142 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13675 "PhotoPage.c"
	}
#line 2144 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = self->priv->current_tool;
#line 2144 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _editing_tools_editing_tool_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, EDITING_TOOLS_TYPE_ADJUST_TOOL) ? ((EditingToolsAdjustTool*) _tmp3_) : NULL);
#line 2144 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	adjust_tool = _tmp4_;
#line 2145 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = adjust_tool;
#line 2145 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_ != NULL) {
#line 13687 "PhotoPage.c"
		EditingToolsAdjustTool* _tmp6_ = NULL;
#line 2146 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = adjust_tool;
#line 2146 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		editing_tools_adjust_tool_enhance (_tmp6_);
#line 2148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_editing_tools_editing_tool_unref0 (adjust_tool);
#line 2148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13697 "PhotoPage.c"
	}
#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = editing_host_page_get_photo (self);
#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = enhance_single_command_new (_tmp8_);
#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp8_);
#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp10_;
#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = command;
#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_COMMAND, Command));
#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp12_);
#line 2131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 2131 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (adjust_tool);
#line 13725 "PhotoPage.c"
}


void editing_host_page_on_copy_adjustments (EditingHostPage* self) {
	gboolean _tmp0_ = FALSE;
	Photo* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	PixelTransformationBundle* _tmp3_ = NULL;
	PixelTransformationBundle* _tmp4_ = NULL;
#line 2155 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (self);
#line 2156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp0_) {
#line 2157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13743 "PhotoPage.c"
	}
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_get_photo (self);
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = photo_get_color_adjustments (_tmp2_);
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	pixel_transformation_bundle_set_copied_color_adjustments (_tmp4_);
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_pixel_transformation_bundle_unref0 (_tmp4_);
#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 2159 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", TRUE);
#line 13761 "PhotoPage.c"
}


void editing_host_page_on_paste_adjustments (EditingHostPage* self) {
	PixelTransformationBundle* copied_adjustments = NULL;
	PixelTransformationBundle* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	AdjustColorsSingleCommand* command = NULL;
	Photo* _tmp4_ = NULL;
	Photo* _tmp5_ = NULL;
	PixelTransformationBundle* _tmp6_ = NULL;
	AdjustColorsSingleCommand* _tmp7_ = NULL;
	AdjustColorsSingleCommand* _tmp8_ = NULL;
	CommandManager* _tmp9_ = NULL;
	CommandManager* _tmp10_ = NULL;
	AdjustColorsSingleCommand* _tmp11_ = NULL;
#line 2162 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2163 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = pixel_transformation_bundle_get_copied_color_adjustments ();
#line 2163 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	copied_adjustments = _tmp0_;
#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_has_photo (self);
#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp2_) {
#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = TRUE;
#line 13791 "PhotoPage.c"
	} else {
		PixelTransformationBundle* _tmp3_ = NULL;
#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = copied_adjustments;
#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = _tmp3_ == NULL;
#line 13798 "PhotoPage.c"
	}
#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 2165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_pixel_transformation_bundle_unref0 (copied_adjustments);
#line 2165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13806 "PhotoPage.c"
	}
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = editing_host_page_get_photo (self);
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = copied_adjustments;
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = adjust_colors_single_command_new (_tmp5_, _tmp6_, RESOURCES_PASTE_ADJUSTMENTS_LABEL, RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP);
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp5_);
#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp8_;
#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = command;
#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command));
#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp10_);
#line 2162 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 2162 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_pixel_transformation_bundle_unref0 (copied_adjustments);
#line 13836 "PhotoPage.c"
}


static void editing_host_page_place_tool_window (EditingHostPage* self) {
	EditingToolsEditingTool* _tmp0_ = NULL;
	EditingToolsEditingToolWindow* tool_window = NULL;
	EditingToolsEditingTool* _tmp1_ = NULL;
	EditingToolsEditingToolWindow* _tmp2_ = NULL;
	EditingToolsEditingToolWindow* _tmp3_ = NULL;
	EditingToolsEditingToolWindow* _tmp4_ = NULL;
	EditingToolsEditingToolWindow* _tmp5_ = NULL;
	GtkAllocation tool_alloc = {0};
	EditingToolsEditingToolWindow* _tmp6_ = NULL;
	GtkAllocation _tmp7_ = {0};
	gint x = 0;
	gint y = 0;
	GeeHashMap* _tmp8_ = NULL;
	EditingToolsEditingTool* _tmp9_ = NULL;
	const gchar* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	gboolean _tmp13_ = FALSE;
	gboolean _tmp14_ = FALSE;
	GdkScreen* screen = NULL;
	GtkWindow* _tmp84_ = NULL;
	GtkWindow* _tmp85_ = NULL;
	GdkScreen* _tmp86_ = NULL;
	GdkScreen* _tmp87_ = NULL;
	GdkScreen* _tmp88_ = NULL;
	gint _tmp89_ = 0;
	GdkScreen* _tmp90_ = NULL;
	gint _tmp91_ = 0;
	GtkAllocation _tmp92_ = {0};
	gint _tmp93_ = 0;
	gint _tmp94_ = 0;
	gint _tmp95_ = 0;
	GdkScreen* _tmp96_ = NULL;
	gint _tmp97_ = 0;
	GtkAllocation _tmp98_ = {0};
	gint _tmp99_ = 0;
	gint _tmp100_ = 0;
	EditingToolsEditingToolWindow* _tmp101_ = NULL;
	gint _tmp102_ = 0;
	gint _tmp103_ = 0;
	EditingToolsEditingToolWindow* _tmp104_ = NULL;
	EditingToolsEditingToolWindow* _tmp105_ = NULL;
#line 2172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 2173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_ == NULL) {
#line 2174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13891 "PhotoPage.c"
	}
#line 2176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->current_tool;
#line 2176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_tools_editing_tool_get_tool_window (_tmp1_);
#line 2176 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tool_window = _tmp2_;
#line 2177 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = tool_window;
#line 2177 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_ == NULL) {
#line 2178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (tool_window);
#line 2178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 13907 "PhotoPage.c"
	}
#line 2181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = tool_window;
#line 2181 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 2182 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = tool_window;
#line 2182 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
#line 2185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = tool_window;
#line 2185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), &_tmp7_);
#line 2185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tool_alloc = _tmp7_;
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = self->priv->last_locations;
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = self->priv->current_tool;
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_->name;
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = g_strconcat (_tmp10_, "_x", NULL);
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_);
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp12_);
#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp14_) {
#line 13941 "PhotoPage.c"
		GeeHashMap* _tmp15_ = NULL;
		EditingToolsEditingTool* _tmp16_ = NULL;
		const gchar* _tmp17_ = NULL;
		gchar* _tmp18_ = NULL;
		gchar* _tmp19_ = NULL;
		gpointer _tmp20_ = NULL;
		GeeHashMap* _tmp21_ = NULL;
		EditingToolsEditingTool* _tmp22_ = NULL;
		const gchar* _tmp23_ = NULL;
		gchar* _tmp24_ = NULL;
		gchar* _tmp25_ = NULL;
		gpointer _tmp26_ = NULL;
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = self->priv->last_locations;
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = self->priv->current_tool;
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = _tmp16_->name;
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = g_strconcat (_tmp17_, "_x", NULL);
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_);
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		x = (gint) ((gintptr) _tmp20_);
#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp19_);
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = self->priv->last_locations;
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = self->priv->current_tool;
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = _tmp22_->name;
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = g_strconcat (_tmp23_, "_y", NULL);
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = _tmp24_;
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp25_);
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		y = (gint) ((gintptr) _tmp26_);
#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp25_);
#line 13986 "PhotoPage.c"
	} else {
		GtkWindow* _tmp27_ = NULL;
		GtkWindow* _tmp28_ = NULL;
		AppWindow* _tmp29_ = NULL;
		AppWindow* _tmp30_ = NULL;
		gboolean _tmp31_ = FALSE;
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp27_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = _tmp27_;
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = app_window_get_instance ();
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = _tmp29_;
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = _tmp28_ == G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_window_get_type (), GtkWindow);
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp30_);
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp28_);
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp31_) {
#line 14009 "PhotoPage.c"
			gint rx = 0;
			gint ry = 0;
			GtkWindow* _tmp32_ = NULL;
			GtkWindow* _tmp33_ = NULL;
			GdkWindow* _tmp34_ = NULL;
			gint _tmp35_ = 0;
			gint _tmp36_ = 0;
			GtkAllocation viewport_allocation = {0};
			GtkViewport* _tmp37_ = NULL;
			GtkAllocation _tmp38_ = {0};
			gint cx = 0;
			gint cy = 0;
			gint cwidth = 0;
			gint cheight = 0;
			GtkAllocation _tmp39_ = {0};
			gint _tmp40_ = 0;
			GtkAllocation _tmp41_ = {0};
			gint _tmp42_ = 0;
			GtkAllocation _tmp43_ = {0};
			gint _tmp44_ = 0;
			GtkAllocation _tmp45_ = {0};
			gint _tmp46_ = 0;
			gint _tmp47_ = 0;
			gint _tmp56_ = 0;
			gint _tmp57_ = 0;
			gint _tmp58_ = 0;
			GtkAllocation _tmp59_ = {0};
			gint _tmp60_ = 0;
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp32_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp33_ = _tmp32_;
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp34_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget));
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			gdk_window_get_root_origin (_tmp34_, &_tmp35_, &_tmp36_);
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			rx = _tmp35_;
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			ry = _tmp36_;
#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp33_);
#line 2202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp37_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->viewport;
#line 2202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), &_tmp38_);
#line 2202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			viewport_allocation = _tmp38_;
#line 2205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp39_ = viewport_allocation;
#line 2205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp40_ = _tmp39_.x;
#line 2205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			cx = _tmp40_;
#line 2206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp41_ = viewport_allocation;
#line 2206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp42_ = _tmp41_.y;
#line 2206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			cy = _tmp42_;
#line 2207 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp43_ = viewport_allocation;
#line 2207 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp44_ = _tmp43_.width;
#line 2207 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			cwidth = _tmp44_;
#line 2208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp45_ = viewport_allocation;
#line 2208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp46_ = _tmp45_.height;
#line 2208 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			cheight = _tmp46_;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (self, TYPE_DIRECT_PHOTO_PAGE)) {
#line 14084 "PhotoPage.c"
				gint _tmp48_ = 0;
				gint _tmp49_ = 0;
				gint _tmp50_ = 0;
				GtkAllocation _tmp51_ = {0};
				gint _tmp52_ = 0;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp48_ = rx;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp49_ = cx;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp50_ = cwidth;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp51_ = tool_alloc;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp52_ = _tmp51_.width;
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp47_ = ((_tmp48_ + _tmp49_) + (_tmp50_ / 2)) - (_tmp52_ / 2);
#line 14102 "PhotoPage.c"
			} else {
				gint _tmp53_ = 0;
				gint _tmp54_ = 0;
				gint _tmp55_ = 0;
#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp53_ = rx;
#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp54_ = cx;
#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp55_ = cwidth;
#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp47_ = (_tmp53_ + _tmp54_) + (_tmp55_ / 2);
#line 14115 "PhotoPage.c"
			}
#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			x = _tmp47_;
#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp56_ = ry;
#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp57_ = cy;
#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp58_ = cheight;
#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp59_ = tool_alloc;
#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp60_ = _tmp59_.height;
#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			y = ((_tmp56_ + _tmp57_) + _tmp58_) - ((_tmp60_ / 4) * 3);
#line 14131 "PhotoPage.c"
		} else {
			GtkWindow* _tmp61_ = NULL;
			GtkWindow* _tmp62_ = NULL;
			GtkAllocation toolbar_alloc = {0};
			GtkToolbar* _tmp63_ = NULL;
			GtkToolbar* _tmp64_ = NULL;
			GtkAllocation _tmp65_ = {0};
			GdkScreen* screen = NULL;
			GtkWindow* _tmp66_ = NULL;
			GtkWindow* _tmp67_ = NULL;
			GdkScreen* _tmp68_ = NULL;
			GdkScreen* _tmp69_ = NULL;
			GdkScreen* _tmp70_ = NULL;
			GdkScreen* _tmp71_ = NULL;
			gint _tmp72_ = 0;
			GdkScreen* _tmp73_ = NULL;
			gint _tmp74_ = 0;
			GtkAllocation _tmp75_ = {0};
			gint _tmp76_ = 0;
			GtkAllocation _tmp77_ = {0};
			gint _tmp78_ = 0;
			EditingToolsEditingTool* _tmp79_ = NULL;
#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp61_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp62_ = _tmp61_;
#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp62_, TYPE_FULLSCREEN_WINDOW), "get_container() is FullscreenWindow");
#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp62_);
#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp63_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp64_ = _tmp63_;
#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget), &_tmp65_);
#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			toolbar_alloc = _tmp65_;
#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp64_);
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp66_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp67_ = _tmp66_;
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp68_ = gtk_window_get_screen (_tmp67_);
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp69_ = _g_object_ref0 (_tmp68_);
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp70_ = _tmp69_;
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp67_);
#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			screen = _tmp70_;
#line 2224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp71_ = screen;
#line 2224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp72_ = gdk_screen_get_width (_tmp71_);
#line 2224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			x = _tmp72_;
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp73_ = screen;
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp74_ = gdk_screen_get_height (_tmp73_);
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp75_ = toolbar_alloc;
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp76_ = _tmp75_.height;
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp77_ = tool_alloc;
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp78_ = _tmp77_.height;
#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			y = ((_tmp74_ - _tmp76_) - _tmp78_) - EDITING_HOST_PAGE_TOOL_WINDOW_SEPARATOR;
#line 2229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp79_ = self->priv->current_tool;
#line 2229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp79_, EDITING_TOOLS_TYPE_ADJUST_TOOL)) {
#line 14210 "PhotoPage.c"
				gint _tmp80_ = 0;
#line 2230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp80_ = x;
#line 2230 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				x = (_tmp80_ * 3) / 4;
#line 14216 "PhotoPage.c"
			} else {
				gint _tmp81_ = 0;
				GtkAllocation _tmp82_ = {0};
				gint _tmp83_ = 0;
#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp81_ = x;
#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp82_ = tool_alloc;
#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp83_ = _tmp82_.width;
#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				x = (_tmp81_ - _tmp83_) / 2;
#line 14229 "PhotoPage.c"
			}
#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (screen);
#line 14233 "PhotoPage.c"
		}
	}
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp84_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp85_ = _tmp84_;
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_ = gtk_window_get_screen (_tmp85_);
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp87_ = _g_object_ref0 (_tmp86_);
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp88_ = _tmp87_;
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp85_);
#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	screen = _tmp88_;
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_ = x;
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp90_ = screen;
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp91_ = gdk_screen_get_width (_tmp90_);
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_ = tool_alloc;
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp93_ = _tmp92_.width;
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp94_ = CLAMP (_tmp89_, 0, _tmp91_ - _tmp93_);
#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	x = _tmp94_;
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_ = y;
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp96_ = screen;
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp97_ = gdk_screen_get_height (_tmp96_);
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_ = tool_alloc;
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp99_ = _tmp98_.height;
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp100_ = CLAMP (_tmp95_, 0, _tmp97_ - _tmp99_);
#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	y = _tmp100_;
#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_ = tool_window;
#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp102_ = x;
#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp103_ = y;
#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_window_move (G_TYPE_CHECK_INSTANCE_CAST (_tmp101_, gtk_window_get_type (), GtkWindow), _tmp102_, _tmp103_);
#line 2243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_ = tool_window;
#line 2243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, gtk_widget_get_type (), GtkWidget));
#line 2244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp105_ = tool_window;
#line 2244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, gtk_window_get_type (), GtkWindow));
#line 2172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (screen);
#line 2172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (tool_window);
#line 14298 "PhotoPage.c"
}


static void editing_host_page_real_on_next_photo (SinglePhotoPage* base) {
	EditingHostPage * self;
	Dimensions _tmp0_ = {0};
	gboolean _tmp1_ = FALSE;
	Photo* current_photo = NULL;
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	DataView* current = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	Photo* _tmp6_ = NULL;
	Photo* _tmp7_ = NULL;
	DataView* _tmp8_ = NULL;
	DataView* _tmp9_ = NULL;
	DataView* _tmp10_ = NULL;
	DataView* next = NULL;
	DataView* _tmp11_ = NULL;
	DataView* _tmp12_ = NULL;
#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 2248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 2248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 2250 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (self);
#line 2250 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 2251 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 14332 "PhotoPage.c"
	}
#line 2253 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_get_photo (self);
#line 2253 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	current_photo = _tmp2_;
#line 2254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = current_photo;
#line 2254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp3_ != NULL, "current_photo != null");
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = editing_host_page_get_photo (self);
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = view_collection_get_view_for_source (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource));
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp7_);
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	current = _tmp9_;
#line 2257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = current;
#line 2257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_ == NULL) {
#line 2258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (current);
#line 2258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (current_photo);
#line 2258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 14370 "PhotoPage.c"
	}
#line 2261 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = current;
#line 2261 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _g_object_ref0 (_tmp11_);
#line 2261 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	next = _tmp12_;
#line 14378 "PhotoPage.c"
	{
		gboolean _tmp13_ = FALSE;
#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = TRUE;
#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		while (TRUE) {
#line 14385 "PhotoPage.c"
			ViewCollection* _tmp14_ = NULL;
			ViewCollection* _tmp15_ = NULL;
			DataView* _tmp16_ = NULL;
			DataView* _tmp17_ = NULL;
			DataView* _tmp18_ = NULL;
			Photo* next_photo = NULL;
			DataView* _tmp19_ = NULL;
			DataSource* _tmp20_ = NULL;
			Photo* _tmp21_ = NULL;
			Photo* _tmp22_ = NULL;
			Photo* _tmp23_ = NULL;
			Photo* _tmp24_ = NULL;
			Photo* _tmp25_ = NULL;
#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (!_tmp13_) {
#line 14401 "PhotoPage.c"
			}
#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = FALSE;
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp15_ = _tmp14_;
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp16_ = next;
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp17_ = view_collection_get_next (_tmp15_, _tmp16_);
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (next);
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			next = _tmp17_;
#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_data_collection_unref0 (_tmp15_);
#line 2264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp18_ = next;
#line 2264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp18_ == NULL) {
#line 2265 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 14425 "PhotoPage.c"
			}
#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp19_ = next;
#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp20_ = data_view_get_source (_tmp19_);
#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp21_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, TYPE_PHOTO) ? ((Photo*) _tmp20_) : NULL;
#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp21_ == NULL) {
#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (_tmp20_);
#line 14437 "PhotoPage.c"
			}
#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			next_photo = _tmp21_;
#line 2268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp22_ = next_photo;
#line 2268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp22_ == NULL) {
#line 2269 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (next_photo);
#line 2269 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				continue;
#line 14449 "PhotoPage.c"
			}
#line 2271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp23_ = next_photo;
#line 2271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp24_ = current_photo;
#line 2271 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp23_ == _tmp24_) {
#line 2272 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (next_photo);
#line 2272 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 14461 "PhotoPage.c"
			}
#line 2274 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp25_ = next_photo;
#line 2274 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			editing_host_page_replace_photo (self, _tmp25_);
#line 2276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (next_photo);
#line 2276 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			break;
#line 14471 "PhotoPage.c"
		}
	}
#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (next);
#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (current);
#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (current_photo);
#line 14480 "PhotoPage.c"
}


static void editing_host_page_real_on_previous_photo (SinglePhotoPage* base) {
	EditingHostPage * self;
	Dimensions _tmp0_ = {0};
	gboolean _tmp1_ = FALSE;
	Photo* current_photo = NULL;
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	DataView* current = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	Photo* _tmp6_ = NULL;
	Photo* _tmp7_ = NULL;
	DataView* _tmp8_ = NULL;
	DataView* _tmp9_ = NULL;
	DataView* _tmp10_ = NULL;
	DataView* previous = NULL;
	DataView* _tmp11_ = NULL;
	DataView* _tmp12_ = NULL;
#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 2281 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dimensions_init (&_tmp0_, 0, 0);
#line 2281 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE);
#line 2283 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (self);
#line 2283 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 2284 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 14514 "PhotoPage.c"
	}
#line 2286 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_get_photo (self);
#line 2286 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	current_photo = _tmp2_;
#line 2287 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = current_photo;
#line 2287 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp3_ != NULL, "current_photo != null");
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = editing_host_page_get_photo (self);
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = view_collection_get_view_for_source (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource));
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp7_);
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	current = _tmp9_;
#line 2290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = current;
#line 2290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_ == NULL) {
#line 2291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (current);
#line 2291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (current_photo);
#line 2291 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 14552 "PhotoPage.c"
	}
#line 2294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = current;
#line 2294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _g_object_ref0 (_tmp11_);
#line 2294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	previous = _tmp12_;
#line 14560 "PhotoPage.c"
	{
		gboolean _tmp13_ = FALSE;
#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = TRUE;
#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		while (TRUE) {
#line 14567 "PhotoPage.c"
			ViewCollection* _tmp14_ = NULL;
			ViewCollection* _tmp15_ = NULL;
			DataView* _tmp16_ = NULL;
			DataView* _tmp17_ = NULL;
			DataView* _tmp18_ = NULL;
			Photo* previous_photo = NULL;
			DataView* _tmp19_ = NULL;
			DataSource* _tmp20_ = NULL;
			Photo* _tmp21_ = NULL;
			Photo* _tmp22_ = NULL;
			Photo* _tmp23_ = NULL;
			Photo* _tmp24_ = NULL;
			Photo* _tmp25_ = NULL;
#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (!_tmp13_) {
#line 14583 "PhotoPage.c"
			}
#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp13_ = FALSE;
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp15_ = _tmp14_;
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp16_ = previous;
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp17_ = view_collection_get_previous (_tmp15_, _tmp16_);
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (previous);
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			previous = _tmp17_;
#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_data_collection_unref0 (_tmp15_);
#line 2297 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp18_ = previous;
#line 2297 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp18_ == NULL) {
#line 2298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 14607 "PhotoPage.c"
			}
#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp19_ = previous;
#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp20_ = data_view_get_source (_tmp19_);
#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp21_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, TYPE_PHOTO) ? ((Photo*) _tmp20_) : NULL;
#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp21_ == NULL) {
#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (_tmp20_);
#line 14619 "PhotoPage.c"
			}
#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			previous_photo = _tmp21_;
#line 2301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp22_ = previous_photo;
#line 2301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp22_ == NULL) {
#line 2302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (previous_photo);
#line 2302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				continue;
#line 14631 "PhotoPage.c"
			}
#line 2304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp23_ = previous_photo;
#line 2304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp24_ = current_photo;
#line 2304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			if (_tmp23_ == _tmp24_) {
#line 2305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (previous_photo);
#line 2305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 14643 "PhotoPage.c"
			}
#line 2307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp25_ = previous_photo;
#line 2307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			editing_host_page_replace_photo (self, _tmp25_);
#line 2309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (previous_photo);
#line 2309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			break;
#line 14653 "PhotoPage.c"
		}
	}
#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (previous);
#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (current);
#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (current_photo);
#line 14662 "PhotoPage.c"
}


gboolean editing_host_page_has_current_tool (EditingHostPage* self) {
	gboolean result = FALSE;
	EditingToolsEditingTool* _tmp0_ = NULL;
#line 2313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE);
#line 2314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->current_tool;
#line 2314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp0_ != NULL;
#line 2314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 14677 "PhotoPage.c"
}


void editing_host_page_unset_view_collection (EditingHostPage* self) {
#line 2317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_EDITING_HOST_PAGE (self));
#line 2318 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (self->priv->parent_view);
#line 2318 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->parent_view = NULL;
#line 14688 "PhotoPage.c"
}


static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_construct (GType object_type, EditingHostPage* host_page) {
	EditingHostPageEditingHostCanvas* self = NULL;
	EditingHostPage* _tmp0_ = NULL;
	GtkWindow* _tmp1_ = NULL;
	GtkWindow* _tmp2_ = NULL;
	EditingHostPage* _tmp3_ = NULL;
	GtkDrawingArea* _tmp4_ = NULL;
	GdkWindow* _tmp5_ = NULL;
	EditingHostPage* _tmp6_ = NULL;
	Photo* _tmp7_ = NULL;
	Photo* _tmp8_ = NULL;
	EditingHostPage* _tmp9_ = NULL;
	cairo_t* _tmp10_ = NULL;
	cairo_t* _tmp11_ = NULL;
	EditingHostPage* _tmp12_ = NULL;
	Dimensions _tmp13_ = {0};
	EditingHostPage* _tmp14_ = NULL;
	GdkPixbuf* _tmp15_ = NULL;
	GdkPixbuf* _tmp16_ = NULL;
	EditingHostPage* _tmp17_ = NULL;
	GdkRectangle _tmp18_ = {0};
	EditingHostPage* _tmp19_ = NULL;
	EditingHostPage* _tmp20_ = NULL;
#line 377 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_EDITING_HOST_PAGE (host_page), NULL);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page));
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->canvas;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = editing_host_page_get_photo (_tmp6_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = single_photo_page_get_cairo_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = _tmp10_;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp13_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = single_photo_page_get_scaled_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = _tmp15_;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = host_page;
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_scaled_pixbuf_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp18_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (EditingHostPageEditingHostCanvas*) editing_tools_photo_canvas_construct (object_type, _tmp2_, _tmp5_, _tmp8_, _tmp11_, &_tmp13_, _tmp16_, &_tmp18_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp16_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_cairo_destroy0 (_tmp11_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp8_);
#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = host_page;
#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = _g_object_ref0 (_tmp19_);
#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->host_page);
#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->host_page = _tmp20_;
#line 377 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 14775 "PhotoPage.c"
}


static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_new (EditingHostPage* host_page) {
#line 377 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return editing_host_page_editing_host_canvas_construct (EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, host_page);
#line 14782 "PhotoPage.c"
}


static void editing_host_page_editing_host_canvas_real_repaint (EditingToolsPhotoCanvas* base) {
	EditingHostPageEditingHostCanvas * self;
	EditingHostPage* _tmp0_ = NULL;
#line 385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvas);
#line 386 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->host_page;
#line 386 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 14795 "PhotoPage.c"
}


static void editing_host_page_editing_host_canvas_class_init (EditingHostPageEditingHostCanvasClass * klass) {
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_editing_host_canvas_parent_class = g_type_class_peek_parent (klass);
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingToolsPhotoCanvasClass *) klass)->finalize = editing_host_page_editing_host_canvas_finalize;
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_type_class_add_private (klass, sizeof (EditingHostPageEditingHostCanvasPrivate));
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingToolsPhotoCanvasClass *) klass)->repaint = editing_host_page_editing_host_canvas_real_repaint;
#line 14808 "PhotoPage.c"
}


static void editing_host_page_editing_host_canvas_instance_init (EditingHostPageEditingHostCanvas * self) {
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv = EDITING_HOST_PAGE_EDITING_HOST_CANVAS_GET_PRIVATE (self);
#line 14815 "PhotoPage.c"
}


static void editing_host_page_editing_host_canvas_finalize (EditingToolsPhotoCanvas* obj) {
	EditingHostPageEditingHostCanvas * self;
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvas);
#line 375 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->host_page);
#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_TOOLS_PHOTO_CANVAS_CLASS (editing_host_page_editing_host_canvas_parent_class)->finalize (obj);
#line 14827 "PhotoPage.c"
}


static GType editing_host_page_editing_host_canvas_get_type (void) {
	static volatile gsize editing_host_page_editing_host_canvas_type_id__volatile = 0;
	if (g_once_init_enter (&editing_host_page_editing_host_canvas_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (EditingHostPageEditingHostCanvasClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_host_page_editing_host_canvas_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingHostPageEditingHostCanvas), 0, (GInstanceInitFunc) editing_host_page_editing_host_canvas_instance_init, NULL };
		GType editing_host_page_editing_host_canvas_type_id;
		editing_host_page_editing_host_canvas_type_id = g_type_register_static (EDITING_TOOLS_TYPE_PHOTO_CANVAS, "EditingHostPageEditingHostCanvas", &g_define_type_info, 0);
		g_once_init_leave (&editing_host_page_editing_host_canvas_type_id__volatile, editing_host_page_editing_host_canvas_type_id);
	}
	return editing_host_page_editing_host_canvas_type_id__volatile;
}


static void editing_host_page_class_init (EditingHostPageClass * klass) {
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_parent_class = g_type_class_peek_parent (klass);
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_type_class_add_private (klass, sizeof (EditingHostPagePrivate));
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_zoom_slider_key_press = editing_host_page_real_on_zoom_slider_key_press;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_increase_size = editing_host_page_real_on_increase_size;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_decrease_size = editing_host_page_real_on_decrease_size;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->save_zoom_state = editing_host_page_real_save_zoom_state;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->get_zoom_buffer = editing_host_page_real_get_zoom_buffer;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_mousewheel_up = editing_host_page_real_on_mousewheel_up;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_mousewheel_down = editing_host_page_real_on_mousewheel_down;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->restore_zoom_state = editing_host_page_real_restore_zoom_state;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->is_zoom_supported = editing_host_page_real_is_zoom_supported;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->set_container = editing_host_page_real_set_container;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->photo_changing = editing_host_page_real_photo_changing;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((GtkWidgetClass *) klass)->realize = editing_host_page_real_realize;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->switched_to = editing_host_page_real_switched_to;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->switching_from = editing_host_page_real_switching_from;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->switching_to_fullscreen = editing_host_page_real_switching_to_fullscreen;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->returning_from_fullscreen = editing_host_page_real_returning_from_fullscreen;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->create_photo_view = editing_host_page_real_create_photo_view;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->update_ui = editing_host_page_real_update_ui;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->notify_photo_backing_missing = editing_host_page_real_notify_photo_backing_missing;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->confirm_replace_photo = editing_host_page_real_confirm_replace_photo;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->cancel_zoom = editing_host_page_real_cancel_zoom;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_resize = editing_host_page_real_on_resize;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_resize_finished = editing_host_page_real_on_resize_finished;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->update_actions = editing_host_page_real_update_actions;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_shift_pressed = editing_host_page_real_on_shift_pressed;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_shift_released = editing_host_page_real_on_shift_released;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_alt_pressed = editing_host_page_real_on_alt_pressed;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_alt_released = editing_host_page_real_on_alt_released;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_double_click = editing_host_page_real_on_double_click;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_left_click = editing_host_page_real_on_left_click;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_left_released = editing_host_page_real_on_left_released;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_right_click = editing_host_page_real_on_right_click;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_motion = editing_host_page_real_on_motion;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_leave_notify_event = editing_host_page_real_on_leave_notify_event;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_move = editing_host_page_real_on_move;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_move_finished = editing_host_page_real_on_move_finished;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((GtkWidgetClass *) klass)->key_press_event = editing_host_page_real_key_press_event;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->new_surface = editing_host_page_real_new_surface;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->updated_pixbuf = editing_host_page_real_updated_pixbuf;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->get_bottom_left_trinket = editing_host_page_real_get_bottom_left_trinket;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->get_top_left_trinket = editing_host_page_real_get_top_left_trinket;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->get_top_right_trinket = editing_host_page_real_get_top_right_trinket;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->get_bottom_right_trinket = editing_host_page_real_get_bottom_right_trinket;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->paint = editing_host_page_real_paint;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_ctrl_pressed = editing_host_page_real_on_ctrl_pressed;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_ctrl_released = editing_host_page_real_on_ctrl_released;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->on_next_photo = editing_host_page_real_on_next_photo;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((SinglePhotoPageClass *) klass)->on_previous_photo = editing_host_page_real_on_previous_photo;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	G_OBJECT_CLASS (klass)->finalize = editing_host_page_finalize;
#line 14946 "PhotoPage.c"
}


static void editing_host_page_instance_init (EditingHostPage * self) {
	GtkToolButton* _tmp0_ = NULL;
	GtkToolButton* _tmp1_ = NULL;
	GeeHashMap* _tmp2_ = NULL;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv = EDITING_HOST_PAGE_GET_PRIVATE (self);
#line 391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->parent_view = NULL;
#line 392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->swapped = NULL;
#line 393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->pixbuf_dirty = TRUE;
#line 394 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->rotate_button = NULL;
#line 395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->crop_button = NULL;
#line 396 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->redeye_button = NULL;
#line 397 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->adjust_button = NULL;
#line 398 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->straighten_button = NULL;
#line 399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->enhance_button = NULL;
#line 400 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->zoom_slider = NULL;
#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = (GtkToolButton*) gtk_tool_button_new (NULL, RESOURCES_PREVIOUS_LABEL);
#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp0_);
#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->prev_button = _tmp0_;
#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = (GtkToolButton*) gtk_tool_button_new (NULL, RESOURCES_NEXT_LABEL);
#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp1_);
#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->next_button = _tmp1_;
#line 403 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->current_tool = NULL;
#line 404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->current_editing_toggle = NULL;
#line 405 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->cancel_editing_pixbuf = NULL;
#line 406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->photo_missing = FALSE;
#line 407 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->cache = NULL;
#line 408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->master_cache = NULL;
#line 409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->dnd_handler = NULL;
#line 410 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->enable_interactive_zoom_refresh = FALSE;
#line 412 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->is_pan_in_progress = FALSE;
#line 413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->saved_slider_val = 0.0;
#line 414 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->zoom_buffer = NULL;
#line 415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_INT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->last_locations = _tmp2_;
#line 15014 "PhotoPage.c"
}


static void editing_host_page_finalize (GObject* obj) {
	EditingHostPage * self;
	SourceCollection* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	ViewCollection* _tmp2_ = NULL;
	ViewCollection* _tmp3_ = NULL;
	guint _tmp4_ = 0U;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	guint _tmp7_ = 0U;
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDITING_HOST_PAGE, EditingHostPage);
#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->sources;
#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE);
#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_photos_altered_data_collection_items_altered, self);
#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE);
#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered, self);
#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp3_);
#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("ordering-changed", TYPE_DATA_COLLECTION, &_tmp7_, NULL, FALSE);
#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed, self);
#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp6_);
#line 390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (self->priv->sources);
#line 391 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (self->priv->parent_view);
#line 392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->swapped);
#line 394 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->rotate_button);
#line 395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->crop_button);
#line 396 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->redeye_button);
#line 397 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->adjust_button);
#line 398 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->straighten_button);
#line 399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->enhance_button);
#line 400 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->zoom_slider);
#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->prev_button);
#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->next_button);
#line 403 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_editing_tools_editing_tool_unref0 (self->priv->current_tool);
#line 404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->current_editing_toggle);
#line 405 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cancel_editing_pixbuf);
#line 407 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->cache);
#line 408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->master_cache);
#line 409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_drag_and_drop_handler_unref0 (self->priv->dnd_handler);
#line 414 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->zoom_buffer);
#line 415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->last_locations);
#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	G_OBJECT_CLASS (editing_host_page_parent_class)->finalize (obj);
#line 15098 "PhotoPage.c"
}


GType editing_host_page_get_type (void) {
	static volatile gsize editing_host_page_type_id__volatile = 0;
	if (g_once_init_enter (&editing_host_page_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (EditingHostPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_host_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingHostPage), 0, (GInstanceInitFunc) editing_host_page_instance_init, NULL };
		GType editing_host_page_type_id;
		editing_host_page_type_id = g_type_register_static (TYPE_SINGLE_PHOTO_PAGE, "EditingHostPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&editing_host_page_type_id__volatile, editing_host_page_type_id);
	}
	return editing_host_page_type_id__volatile;
}


static void _library_photo_page_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) {
#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_photo_destroyed ((LibraryPhotoPage*) self, source);
#line 15117 "PhotoPage.c"
}


static void _library_photo_page_on_metadata_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_metadata_altered ((LibraryPhotoPage*) self, items);
#line 15124 "PhotoPage.c"
}


static void _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self) {
#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_external_app_changed ((LibraryPhotoPage*) self);
#line 15131 "PhotoPage.c"
}


static void _library_photo_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) {
#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_photos_altered ((LibraryPhotoPage*) self);
#line 15138 "PhotoPage.c"
}


static void _library_photo_page_on_photo_unlinking_source_collection_items_unlinking (SourceCollection* _sender, GeeCollection* unlinking, gpointer self) {
#line 2353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_photo_unlinking ((LibraryPhotoPage*) self, unlinking);
#line 15145 "PhotoPage.c"
}


static void _library_photo_page_on_photo_relinked_source_collection_items_relinked (SourceCollection* _sender, GeeCollection* relinked, gpointer self) {
#line 2354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_photo_relinked ((LibraryPhotoPage*) self, relinked);
#line 15152 "PhotoPage.c"
}


LibraryPhotoPage* library_photo_page_construct (GType object_type) {
	LibraryPhotoPage * self = NULL;
	LibraryPhotoSourceCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	ViewCollection* _tmp2_ = NULL;
	LibraryPhotoSourceCollection* _tmp3_ = NULL;
	LibraryPhotoSourceCollection* _tmp4_ = NULL;
	ConfigFacade* _tmp5_ = NULL;
	ConfigFacade* _tmp6_ = NULL;
	ViewCollection* _tmp7_ = NULL;
	ViewCollection* _tmp8_ = NULL;
	LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp9_ = NULL;
	LibraryPhotoSourceCollection* _tmp10_ = NULL;
	LibraryPhotoSourceCollection* _tmp11_ = NULL;
#line 2339 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = library_photo_global;
#line 2339 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (LibraryPhotoPage*) editing_host_page_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), "Photo");
#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_photo_page_on_photos_altered_data_collection_items_altered, self, 0);
#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp2_);
#line 2345 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = library_photo_global;
#line 2345 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _library_photo_page_on_photo_destroyed_source_collection_item_destroyed, self, 0);
#line 2346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = library_photo_global;
#line 2346 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_photo_page_on_metadata_altered_data_collection_items_altered, self, 0);
#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = config_facade_get_instance ();
#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "external-app-changed", (GCallback) _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed, self, 0);
#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp6_);
#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = self->priv->filter;
#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view_collection_install_view_filter (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_VIEW_FILTER, ViewFilter));
#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp8_);
#line 2353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = library_photo_global;
#line 2353 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-unlinking", (GCallback) _library_photo_page_on_photo_unlinking_source_collection_items_unlinking, self, 0);
#line 2354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = library_photo_global;
#line 2354 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-relinked", (GCallback) _library_photo_page_on_photo_relinked_source_collection_items_relinked, self, 0);
#line 2338 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 15218 "PhotoPage.c"
}


LibraryPhotoPage* library_photo_page_new (void) {
#line 2338 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return library_photo_page_construct (TYPE_LIBRARY_PHOTO_PAGE);
#line 15225 "PhotoPage.c"
}


gboolean library_photo_page_not_trashed_view_filter (LibraryPhotoPage* self, DataView* view) {
	gboolean result = FALSE;
	DataView* _tmp0_ = NULL;
	DataSource* _tmp1_ = NULL;
	MediaSource* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
#line 2363 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_LIBRARY_PHOTO_PAGE (self), FALSE);
#line 2363 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_DATA_VIEW (view), FALSE);
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = view;
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = data_view_get_source (_tmp0_);
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource);
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = media_source_is_trashed (_tmp2_);
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = !_tmp3_;
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp4_;
#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 15256 "PhotoPage.c"
}


static void library_photo_page_on_photo_unlinking (LibraryPhotoPage* self, GeeCollection* unlinking) {
	LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp0_ = NULL;
#line 2367 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2367 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GEE_IS_COLLECTION (unlinking));
#line 2368 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->filter;
#line 2368 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_FILTER, ViewFilter), "refresh");
#line 15270 "PhotoPage.c"
}


static void library_photo_page_on_photo_relinked (LibraryPhotoPage* self, GeeCollection* relinked) {
	LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp0_ = NULL;
#line 2371 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2371 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GEE_IS_COLLECTION (relinked));
#line 2372 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->filter;
#line 2372 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_FILTER, ViewFilter), "refresh");
#line 15284 "PhotoPage.c"
}


static void library_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
	LibraryPhotoPage * self;
	GeeList* _tmp0_ = NULL;
	GeeList* _tmp1_ = NULL;
	GeeList* _tmp2_ = NULL;
#line 2375 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2375 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GEE_IS_LIST (ui_filenames));
#line 2376 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = ui_filenames;
#line 2376 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (library_photo_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp0_);
#line 2378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = ui_filenames;
#line 2378 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "photo_context.ui");
#line 2379 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = ui_filenames;
#line 2379 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), "photo.ui");
#line 15309 "PhotoPage.c"
}


static void _library_photo_page_on_export_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_export ((LibraryPhotoPage*) self);
#line 15316 "PhotoPage.c"
}


static void _vala_array_add193 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15327 "PhotoPage.c"
	}
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15331 "PhotoPage.c"
}


static void _library_photo_page_on_print_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_print ((LibraryPhotoPage*) self);
#line 15338 "PhotoPage.c"
}


static void _vala_array_add194 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15349 "PhotoPage.c"
	}
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15353 "PhotoPage.c"
}


static void _library_photo_page_on_publish_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_publish ((LibraryPhotoPage*) self);
#line 15360 "PhotoPage.c"
}


static void _vala_array_add195 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15371 "PhotoPage.c"
	}
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15375 "PhotoPage.c"
}


static void _library_photo_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_remove_from_library ((LibraryPhotoPage*) self);
#line 15382 "PhotoPage.c"
}


static void _vala_array_add196 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15393 "PhotoPage.c"
	}
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15397 "PhotoPage.c"
}


static void _library_photo_page_on_move_to_trash_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_move_to_trash ((LibraryPhotoPage*) self);
#line 15404 "PhotoPage.c"
}


static void _vala_array_add197 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15415 "PhotoPage.c"
	}
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15419 "PhotoPage.c"
}


static void _library_photo_page_on_view_menu_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_view_menu ((LibraryPhotoPage*) self);
#line 15426 "PhotoPage.c"
}


static void _vala_array_add198 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15437 "PhotoPage.c"
	}
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15441 "PhotoPage.c"
}


static void _vala_array_add199 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15452 "PhotoPage.c"
	}
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15456 "PhotoPage.c"
}


static void _single_photo_page_on_previous_photo_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_on_previous_photo ((SinglePhotoPage*) self);
#line 15463 "PhotoPage.c"
}


static void _vala_array_add200 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15474 "PhotoPage.c"
	}
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15478 "PhotoPage.c"
}


static void _single_photo_page_on_next_photo_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_on_next_photo ((SinglePhotoPage*) self);
#line 15485 "PhotoPage.c"
}


static void _vala_array_add201 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15496 "PhotoPage.c"
	}
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15500 "PhotoPage.c"
}


static void _editing_host_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_rotate_clockwise ((EditingHostPage*) self);
#line 15507 "PhotoPage.c"
}


static void _vala_array_add202 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15518 "PhotoPage.c"
	}
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15522 "PhotoPage.c"
}


static void _editing_host_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_rotate_counterclockwise ((EditingHostPage*) self);
#line 15529 "PhotoPage.c"
}


static void _vala_array_add203 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15540 "PhotoPage.c"
	}
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15544 "PhotoPage.c"
}


static void _editing_host_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_flip_horizontally ((EditingHostPage*) self);
#line 15551 "PhotoPage.c"
}


static void _vala_array_add204 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15562 "PhotoPage.c"
	}
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15566 "PhotoPage.c"
}


static void _editing_host_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_flip_vertically ((EditingHostPage*) self);
#line 15573 "PhotoPage.c"
}


static void _vala_array_add205 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15584 "PhotoPage.c"
	}
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15588 "PhotoPage.c"
}


static void _editing_host_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_enhance ((EditingHostPage*) self);
#line 15595 "PhotoPage.c"
}


static void _vala_array_add206 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15606 "PhotoPage.c"
	}
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15610 "PhotoPage.c"
}


static void _editing_host_page_on_copy_adjustments_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_copy_adjustments ((EditingHostPage*) self);
#line 15617 "PhotoPage.c"
}


static void _vala_array_add207 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15628 "PhotoPage.c"
	}
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15632 "PhotoPage.c"
}


static void _editing_host_page_on_paste_adjustments_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_paste_adjustments ((EditingHostPage*) self);
#line 15639 "PhotoPage.c"
}


static void _vala_array_add208 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15650 "PhotoPage.c"
	}
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15654 "PhotoPage.c"
}


static void _editing_host_page_toggle_crop_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_toggle_crop ((EditingHostPage*) self);
#line 15661 "PhotoPage.c"
}


static void _vala_array_add209 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15672 "PhotoPage.c"
	}
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15676 "PhotoPage.c"
}


static void _editing_host_page_toggle_straighten_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_toggle_straighten ((EditingHostPage*) self);
#line 15683 "PhotoPage.c"
}


static void _vala_array_add210 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15694 "PhotoPage.c"
	}
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15698 "PhotoPage.c"
}


static void _editing_host_page_toggle_redeye_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_toggle_redeye ((EditingHostPage*) self);
#line 15705 "PhotoPage.c"
}


static void _vala_array_add211 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15716 "PhotoPage.c"
	}
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15720 "PhotoPage.c"
}


static void _editing_host_page_toggle_adjust_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_toggle_adjust ((EditingHostPage*) self);
#line 15727 "PhotoPage.c"
}


static void _vala_array_add212 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15738 "PhotoPage.c"
	}
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15742 "PhotoPage.c"
}


static void _editing_host_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_revert ((EditingHostPage*) self);
#line 15749 "PhotoPage.c"
}


static void _vala_array_add213 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15760 "PhotoPage.c"
	}
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15764 "PhotoPage.c"
}


static void _editing_host_page_on_edit_title_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_edit_title ((EditingHostPage*) self);
#line 15771 "PhotoPage.c"
}


static void _vala_array_add214 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15782 "PhotoPage.c"
	}
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15786 "PhotoPage.c"
}


static void _editing_host_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_edit_comment ((EditingHostPage*) self);
#line 15793 "PhotoPage.c"
}


static void _vala_array_add215 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15804 "PhotoPage.c"
	}
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15808 "PhotoPage.c"
}


static void _editing_host_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_adjust_date_time ((EditingHostPage*) self);
#line 15815 "PhotoPage.c"
}


static void _vala_array_add216 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15826 "PhotoPage.c"
	}
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15830 "PhotoPage.c"
}


static void _library_photo_page_on_external_edit_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_external_edit ((LibraryPhotoPage*) self);
#line 15837 "PhotoPage.c"
}


static void _vala_array_add217 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15848 "PhotoPage.c"
	}
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15852 "PhotoPage.c"
}


static void _library_photo_page_on_external_edit_raw_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_external_edit_raw ((LibraryPhotoPage*) self);
#line 15859 "PhotoPage.c"
}


static void _vala_array_add218 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15870 "PhotoPage.c"
	}
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15874 "PhotoPage.c"
}


static void _library_photo_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_send_to ((LibraryPhotoPage*) self);
#line 15881 "PhotoPage.c"
}


static void _vala_array_add219 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15892 "PhotoPage.c"
	}
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15896 "PhotoPage.c"
}


static void _editing_host_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_set_background ((EditingHostPage*) self);
#line 15903 "PhotoPage.c"
}


static void _vala_array_add220 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15914 "PhotoPage.c"
	}
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15918 "PhotoPage.c"
}


static void _library_photo_page_on_flag_unflag_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_flag_unflag ((LibraryPhotoPage*) self);
#line 15925 "PhotoPage.c"
}


static void _vala_array_add221 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15936 "PhotoPage.c"
	}
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15940 "PhotoPage.c"
}


static void _vala_array_add222 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15951 "PhotoPage.c"
	}
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15955 "PhotoPage.c"
}


static void _library_photo_page_on_increase_rating_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_increase_rating ((LibraryPhotoPage*) self);
#line 15962 "PhotoPage.c"
}


static void _vala_array_add223 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15973 "PhotoPage.c"
	}
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15977 "PhotoPage.c"
}


static void _library_photo_page_on_decrease_rating_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_decrease_rating ((LibraryPhotoPage*) self);
#line 15984 "PhotoPage.c"
}


static void _vala_array_add224 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 15995 "PhotoPage.c"
	}
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 15999 "PhotoPage.c"
}


static void _library_photo_page_on_rate_rejected_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_rejected ((LibraryPhotoPage*) self);
#line 16006 "PhotoPage.c"
}


static void _vala_array_add225 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16017 "PhotoPage.c"
	}
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16021 "PhotoPage.c"
}


static void _library_photo_page_on_rate_unrated_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_unrated ((LibraryPhotoPage*) self);
#line 16028 "PhotoPage.c"
}


static void _vala_array_add226 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16039 "PhotoPage.c"
	}
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16043 "PhotoPage.c"
}


static void _library_photo_page_on_rate_one_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_one ((LibraryPhotoPage*) self);
#line 16050 "PhotoPage.c"
}


static void _vala_array_add227 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16061 "PhotoPage.c"
	}
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16065 "PhotoPage.c"
}


static void _library_photo_page_on_rate_two_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_two ((LibraryPhotoPage*) self);
#line 16072 "PhotoPage.c"
}


static void _vala_array_add228 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16083 "PhotoPage.c"
	}
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16087 "PhotoPage.c"
}


static void _library_photo_page_on_rate_three_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_three ((LibraryPhotoPage*) self);
#line 16094 "PhotoPage.c"
}


static void _vala_array_add229 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16105 "PhotoPage.c"
	}
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16109 "PhotoPage.c"
}


static void _library_photo_page_on_rate_four_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_four ((LibraryPhotoPage*) self);
#line 16116 "PhotoPage.c"
}


static void _vala_array_add230 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16127 "PhotoPage.c"
	}
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16131 "PhotoPage.c"
}


static void _library_photo_page_on_rate_five_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_rate_five ((LibraryPhotoPage*) self);
#line 16138 "PhotoPage.c"
}


static void _vala_array_add231 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16149 "PhotoPage.c"
	}
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16153 "PhotoPage.c"
}


static void _editing_host_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_increase_size ((EditingHostPage*) self);
#line 16160 "PhotoPage.c"
}


static void _vala_array_add232 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16171 "PhotoPage.c"
	}
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16175 "PhotoPage.c"
}


static void _editing_host_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_on_decrease_size ((EditingHostPage*) self);
#line 16182 "PhotoPage.c"
}


static void _vala_array_add233 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16193 "PhotoPage.c"
	}
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16197 "PhotoPage.c"
}


static void _editing_host_page_snap_zoom_to_min_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_snap_zoom_to_min ((EditingHostPage*) self);
#line 16204 "PhotoPage.c"
}


static void _vala_array_add234 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16215 "PhotoPage.c"
	}
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16219 "PhotoPage.c"
}


static void _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_snap_zoom_to_isomorphic ((EditingHostPage*) self);
#line 16226 "PhotoPage.c"
}


static void _vala_array_add235 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16237 "PhotoPage.c"
	}
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16241 "PhotoPage.c"
}


static void _editing_host_page_snap_zoom_to_max_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_snap_zoom_to_max ((EditingHostPage*) self);
#line 16248 "PhotoPage.c"
}


static void _vala_array_add236 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16259 "PhotoPage.c"
	}
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16263 "PhotoPage.c"
}


static void _library_photo_page_on_add_tags_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_add_tags ((LibraryPhotoPage*) self);
#line 16270 "PhotoPage.c"
}


static void _vala_array_add237 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16281 "PhotoPage.c"
	}
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16285 "PhotoPage.c"
}


static void _library_photo_page_on_modify_tags_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_modify_tags ((LibraryPhotoPage*) self);
#line 16292 "PhotoPage.c"
}


static void _vala_array_add238 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16303 "PhotoPage.c"
	}
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16307 "PhotoPage.c"
}


static void _library_photo_page_on_slideshow_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_slideshow ((LibraryPhotoPage*) self);
#line 16314 "PhotoPage.c"
}


static void _vala_array_add239 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16325 "PhotoPage.c"
	}
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16329 "PhotoPage.c"
}


static void _vala_array_add240 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16340 "PhotoPage.c"
	}
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16344 "PhotoPage.c"
}


static void _vala_array_add241 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16355 "PhotoPage.c"
	}
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16359 "PhotoPage.c"
}


static void _vala_array_add242 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkActionEntry, *array, *size);
#line 16370 "PhotoPage.c"
	}
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 16374 "PhotoPage.c"
}


static GtkActionEntry* library_photo_page_real_init_collect_action_entries (Page* base, int* result_length1) {
	LibraryPhotoPage * self;
	GtkActionEntry* result = NULL;
	GtkActionEntry* actions = NULL;
	gint _tmp0_ = 0;
	GtkActionEntry* _tmp1_ = NULL;
	gint actions_length1 = 0;
	gint _actions_size_ = 0;
	GtkActionEntry export = {0};
	GtkActionEntry _tmp2_ = {0};
	GtkActionEntry* _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	GtkActionEntry _tmp4_ = {0};
	GtkActionEntry print = {0};
	GtkActionEntry _tmp5_ = {0};
	GtkActionEntry* _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	GtkActionEntry _tmp7_ = {0};
	GtkActionEntry publish = {0};
	GtkActionEntry _tmp8_ = {0};
	GtkActionEntry* _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
	GtkActionEntry _tmp10_ = {0};
	GtkActionEntry remove_from_library = {0};
	GtkActionEntry _tmp11_ = {0};
	GtkActionEntry* _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	GtkActionEntry _tmp13_ = {0};
	GtkActionEntry move_to_trash = {0};
	GtkActionEntry _tmp14_ = {0};
	GtkActionEntry* _tmp15_ = NULL;
	gint _tmp15__length1 = 0;
	GtkActionEntry _tmp16_ = {0};
	GtkActionEntry view = {0};
	GtkActionEntry _tmp17_ = {0};
	const gchar* _tmp18_ = NULL;
	GtkActionEntry* _tmp19_ = NULL;
	gint _tmp19__length1 = 0;
	GtkActionEntry _tmp20_ = {0};
	GtkActionEntry tools = {0};
	GtkActionEntry _tmp21_ = {0};
	const gchar* _tmp22_ = NULL;
	GtkActionEntry* _tmp23_ = NULL;
	gint _tmp23__length1 = 0;
	GtkActionEntry _tmp24_ = {0};
	GtkActionEntry prev = {0};
	GtkActionEntry _tmp25_ = {0};
	const gchar* _tmp26_ = NULL;
	const gchar* _tmp27_ = NULL;
	GtkActionEntry* _tmp28_ = NULL;
	gint _tmp28__length1 = 0;
	GtkActionEntry _tmp29_ = {0};
	GtkActionEntry next = {0};
	GtkActionEntry _tmp30_ = {0};
	const gchar* _tmp31_ = NULL;
	const gchar* _tmp32_ = NULL;
	GtkActionEntry* _tmp33_ = NULL;
	gint _tmp33__length1 = 0;
	GtkActionEntry _tmp34_ = {0};
	GtkActionEntry rotate_right = {0};
	GtkActionEntry _tmp35_ = {0};
	GtkActionEntry* _tmp36_ = NULL;
	gint _tmp36__length1 = 0;
	GtkActionEntry _tmp37_ = {0};
	GtkActionEntry rotate_left = {0};
	GtkActionEntry _tmp38_ = {0};
	GtkActionEntry* _tmp39_ = NULL;
	gint _tmp39__length1 = 0;
	GtkActionEntry _tmp40_ = {0};
	GtkActionEntry hflip = {0};
	GtkActionEntry _tmp41_ = {0};
	GtkActionEntry* _tmp42_ = NULL;
	gint _tmp42__length1 = 0;
	GtkActionEntry _tmp43_ = {0};
	GtkActionEntry vflip = {0};
	GtkActionEntry _tmp44_ = {0};
	GtkActionEntry* _tmp45_ = NULL;
	gint _tmp45__length1 = 0;
	GtkActionEntry _tmp46_ = {0};
	GtkActionEntry enhance = {0};
	GtkActionEntry _tmp47_ = {0};
	GtkActionEntry* _tmp48_ = NULL;
	gint _tmp48__length1 = 0;
	GtkActionEntry _tmp49_ = {0};
	GtkActionEntry copy_adjustments = {0};
	GtkActionEntry _tmp50_ = {0};
	GtkActionEntry* _tmp51_ = NULL;
	gint _tmp51__length1 = 0;
	GtkActionEntry _tmp52_ = {0};
	GtkActionEntry paste_adjustments = {0};
	GtkActionEntry _tmp53_ = {0};
	GtkActionEntry* _tmp54_ = NULL;
	gint _tmp54__length1 = 0;
	GtkActionEntry _tmp55_ = {0};
	GtkActionEntry crop = {0};
	GtkActionEntry _tmp56_ = {0};
	GtkActionEntry* _tmp57_ = NULL;
	gint _tmp57__length1 = 0;
	GtkActionEntry _tmp58_ = {0};
	GtkActionEntry straighten = {0};
	GtkActionEntry _tmp59_ = {0};
	GtkActionEntry* _tmp60_ = NULL;
	gint _tmp60__length1 = 0;
	GtkActionEntry _tmp61_ = {0};
	GtkActionEntry red_eye = {0};
	GtkActionEntry _tmp62_ = {0};
	GtkActionEntry* _tmp63_ = NULL;
	gint _tmp63__length1 = 0;
	GtkActionEntry _tmp64_ = {0};
	GtkActionEntry adjust = {0};
	GtkActionEntry _tmp65_ = {0};
	GtkActionEntry* _tmp66_ = NULL;
	gint _tmp66__length1 = 0;
	GtkActionEntry _tmp67_ = {0};
	GtkActionEntry revert = {0};
	GtkActionEntry _tmp68_ = {0};
	GtkActionEntry* _tmp69_ = NULL;
	gint _tmp69__length1 = 0;
	GtkActionEntry _tmp70_ = {0};
	GtkActionEntry edit_title = {0};
	GtkActionEntry _tmp71_ = {0};
	GtkActionEntry* _tmp72_ = NULL;
	gint _tmp72__length1 = 0;
	GtkActionEntry _tmp73_ = {0};
	GtkActionEntry edit_comment = {0};
	GtkActionEntry _tmp74_ = {0};
	GtkActionEntry* _tmp75_ = NULL;
	gint _tmp75__length1 = 0;
	GtkActionEntry _tmp76_ = {0};
	GtkActionEntry adjust_date_time = {0};
	GtkActionEntry _tmp77_ = {0};
	GtkActionEntry* _tmp78_ = NULL;
	gint _tmp78__length1 = 0;
	GtkActionEntry _tmp79_ = {0};
	GtkActionEntry external_edit = {0};
	GtkActionEntry _tmp80_ = {0};
	GtkActionEntry* _tmp81_ = NULL;
	gint _tmp81__length1 = 0;
	GtkActionEntry _tmp82_ = {0};
	GtkActionEntry edit_raw = {0};
	GtkActionEntry _tmp83_ = {0};
	GtkActionEntry* _tmp84_ = NULL;
	gint _tmp84__length1 = 0;
	GtkActionEntry _tmp85_ = {0};
	GtkActionEntry send_to = {0};
	GtkActionEntry _tmp86_ = {0};
	GtkActionEntry* _tmp87_ = NULL;
	gint _tmp87__length1 = 0;
	GtkActionEntry _tmp88_ = {0};
	GtkActionEntry set_background = {0};
	GtkActionEntry _tmp89_ = {0};
	GtkActionEntry* _tmp90_ = NULL;
	gint _tmp90__length1 = 0;
	GtkActionEntry _tmp91_ = {0};
	GtkActionEntry flag = {0};
	GtkActionEntry _tmp92_ = {0};
	GtkActionEntry* _tmp93_ = NULL;
	gint _tmp93__length1 = 0;
	GtkActionEntry _tmp94_ = {0};
	GtkActionEntry set_rating = {0};
	GtkActionEntry _tmp95_ = {0};
	GtkActionEntry* _tmp96_ = NULL;
	gint _tmp96__length1 = 0;
	GtkActionEntry _tmp97_ = {0};
	GtkActionEntry increase_rating = {0};
	GtkActionEntry _tmp98_ = {0};
	GtkActionEntry* _tmp99_ = NULL;
	gint _tmp99__length1 = 0;
	GtkActionEntry _tmp100_ = {0};
	GtkActionEntry decrease_rating = {0};
	GtkActionEntry _tmp101_ = {0};
	GtkActionEntry* _tmp102_ = NULL;
	gint _tmp102__length1 = 0;
	GtkActionEntry _tmp103_ = {0};
	GtkActionEntry rate_rejected = {0};
	GtkActionEntry _tmp104_ = {0};
	const gchar* _tmp105_ = NULL;
	GtkActionEntry* _tmp106_ = NULL;
	gint _tmp106__length1 = 0;
	GtkActionEntry _tmp107_ = {0};
	GtkActionEntry rate_unrated = {0};
	GtkActionEntry _tmp108_ = {0};
	const gchar* _tmp109_ = NULL;
	GtkActionEntry* _tmp110_ = NULL;
	gint _tmp110__length1 = 0;
	GtkActionEntry _tmp111_ = {0};
	GtkActionEntry rate_one = {0};
	GtkActionEntry _tmp112_ = {0};
	const gchar* _tmp113_ = NULL;
	GtkActionEntry* _tmp114_ = NULL;
	gint _tmp114__length1 = 0;
	GtkActionEntry _tmp115_ = {0};
	GtkActionEntry rate_two = {0};
	GtkActionEntry _tmp116_ = {0};
	const gchar* _tmp117_ = NULL;
	GtkActionEntry* _tmp118_ = NULL;
	gint _tmp118__length1 = 0;
	GtkActionEntry _tmp119_ = {0};
	GtkActionEntry rate_three = {0};
	GtkActionEntry _tmp120_ = {0};
	const gchar* _tmp121_ = NULL;
	GtkActionEntry* _tmp122_ = NULL;
	gint _tmp122__length1 = 0;
	GtkActionEntry _tmp123_ = {0};
	GtkActionEntry rate_four = {0};
	GtkActionEntry _tmp124_ = {0};
	const gchar* _tmp125_ = NULL;
	GtkActionEntry* _tmp126_ = NULL;
	gint _tmp126__length1 = 0;
	GtkActionEntry _tmp127_ = {0};
	GtkActionEntry rate_five = {0};
	GtkActionEntry _tmp128_ = {0};
	const gchar* _tmp129_ = NULL;
	GtkActionEntry* _tmp130_ = NULL;
	gint _tmp130__length1 = 0;
	GtkActionEntry _tmp131_ = {0};
	GtkActionEntry increase_size = {0};
	GtkActionEntry _tmp132_ = {0};
	const gchar* _tmp133_ = NULL;
	const gchar* _tmp134_ = NULL;
	GtkActionEntry* _tmp135_ = NULL;
	gint _tmp135__length1 = 0;
	GtkActionEntry _tmp136_ = {0};
	GtkActionEntry decrease_size = {0};
	GtkActionEntry _tmp137_ = {0};
	const gchar* _tmp138_ = NULL;
	const gchar* _tmp139_ = NULL;
	GtkActionEntry* _tmp140_ = NULL;
	gint _tmp140__length1 = 0;
	GtkActionEntry _tmp141_ = {0};
	GtkActionEntry best_fit = {0};
	GtkActionEntry _tmp142_ = {0};
	const gchar* _tmp143_ = NULL;
	const gchar* _tmp144_ = NULL;
	GtkActionEntry* _tmp145_ = NULL;
	gint _tmp145__length1 = 0;
	GtkActionEntry _tmp146_ = {0};
	GtkActionEntry actual_size = {0};
	GtkActionEntry _tmp147_ = {0};
	const gchar* _tmp148_ = NULL;
	const gchar* _tmp149_ = NULL;
	GtkActionEntry* _tmp150_ = NULL;
	gint _tmp150__length1 = 0;
	GtkActionEntry _tmp151_ = {0};
	GtkActionEntry max_size = {0};
	GtkActionEntry _tmp152_ = {0};
	const gchar* _tmp153_ = NULL;
	const gchar* _tmp154_ = NULL;
	GtkActionEntry* _tmp155_ = NULL;
	gint _tmp155__length1 = 0;
	GtkActionEntry _tmp156_ = {0};
	GtkActionEntry add_tags = {0};
	GtkActionEntry _tmp157_ = {0};
	GtkActionEntry* _tmp158_ = NULL;
	gint _tmp158__length1 = 0;
	GtkActionEntry _tmp159_ = {0};
	GtkActionEntry modify_tags = {0};
	GtkActionEntry _tmp160_ = {0};
	GtkActionEntry* _tmp161_ = NULL;
	gint _tmp161__length1 = 0;
	GtkActionEntry _tmp162_ = {0};
	GtkActionEntry slideshow = {0};
	GtkActionEntry _tmp163_ = {0};
	const gchar* _tmp164_ = NULL;
	const gchar* _tmp165_ = NULL;
	GtkActionEntry* _tmp166_ = NULL;
	gint _tmp166__length1 = 0;
	GtkActionEntry _tmp167_ = {0};
	GtkActionEntry raw_developer = {0};
	GtkActionEntry _tmp168_ = {0};
	const gchar* _tmp169_ = NULL;
	GtkActionEntry* _tmp170_ = NULL;
	gint _tmp170__length1 = 0;
	GtkActionEntry _tmp171_ = {0};
	GtkActionEntry send_to_context_menu = {0};
	GtkActionEntry _tmp172_ = {0};
	GtkActionEntry* _tmp173_ = NULL;
	gint _tmp173__length1 = 0;
	GtkActionEntry _tmp174_ = {0};
	GtkActionEntry add_tags_context_menu = {0};
	GtkActionEntry _tmp175_ = {0};
	GtkActionEntry* _tmp176_ = NULL;
	gint _tmp176__length1 = 0;
	GtkActionEntry _tmp177_ = {0};
	GtkActionEntry* _tmp178_ = NULL;
	gint _tmp178__length1 = 0;
#line 2382 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = PAGE_CLASS (library_photo_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_);
#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	actions = _tmp1_;
#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	actions_length1 = _tmp0_;
#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_actions_size_ = actions_length1;
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_.name = "Export";
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_.stock_id = RESOURCES_SAVE_AS_LABEL;
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_.label = TRANSLATABLE;
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_.accelerator = "<Ctrl><Shift>E";
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_.tooltip = TRANSLATABLE;
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_.callback = (GCallback) _library_photo_page_on_export_gtk_action_callback;
#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	export = _tmp2_;
#line 2387 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	export.label = RESOURCES_EXPORT_MENU;
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = actions;
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3__length1 = actions_length1;
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = export;
#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add193 (&actions, &actions_length1, &_actions_size_, &_tmp4_);
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.name = "Print";
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.stock_id = RESOURCES_PRINT_LABEL;
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.label = TRANSLATABLE;
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.accelerator = "<Ctrl>P";
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.tooltip = TRANSLATABLE;
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.callback = (GCallback) _library_photo_page_on_print_gtk_action_callback;
#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	print = _tmp5_;
#line 2392 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	print.label = RESOURCES_PRINT_MENU;
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = actions;
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6__length1 = actions_length1;
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = print;
#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add194 (&actions, &actions_length1, &_actions_size_, &_tmp7_);
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_.name = "Publish";
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_.stock_id = RESOURCES_PUBLISH;
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_.label = TRANSLATABLE;
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_.accelerator = "<Ctrl><Shift>P";
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_.tooltip = TRANSLATABLE;
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_.callback = (GCallback) _library_photo_page_on_publish_gtk_action_callback;
#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	publish = _tmp8_;
#line 2397 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	publish.label = RESOURCES_PUBLISH_MENU;
#line 2398 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	publish.tooltip = RESOURCES_PUBLISH_TOOLTIP;
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = actions;
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9__length1 = actions_length1;
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = publish;
#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add195 (&actions, &actions_length1, &_actions_size_, &_tmp10_);
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_.name = "RemoveFromLibrary";
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_.stock_id = RESOURCES_REMOVE_LABEL;
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_.label = TRANSLATABLE;
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_.accelerator = "<Shift>Delete";
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_.tooltip = TRANSLATABLE;
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_.callback = (GCallback) _library_photo_page_on_remove_from_library_gtk_action_callback;
#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	remove_from_library = _tmp11_;
#line 2403 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	remove_from_library.label = RESOURCES_REMOVE_FROM_LIBRARY_MENU;
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = actions;
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12__length1 = actions_length1;
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = remove_from_library;
#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add196 (&actions, &actions_length1, &_actions_size_, &_tmp13_);
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_.name = "MoveToTrash";
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_.stock_id = "user-trash-full";
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_.label = TRANSLATABLE;
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_.accelerator = "Delete";
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_.tooltip = TRANSLATABLE;
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_.callback = (GCallback) _library_photo_page_on_move_to_trash_gtk_action_callback;
#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	move_to_trash = _tmp14_;
#line 2408 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	move_to_trash.label = RESOURCES_MOVE_TO_TRASH_MENU;
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = actions;
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15__length1 = actions_length1;
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = move_to_trash;
#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add197 (&actions, &actions_length1, &_actions_size_, &_tmp16_);
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_.name = "ViewMenu";
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_.stock_id = NULL;
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_.label = TRANSLATABLE;
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_.accelerator = NULL;
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_.tooltip = NULL;
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_.callback = (GCallback) _library_photo_page_on_view_menu_gtk_action_callback;
#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view = _tmp17_;
#line 2412 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = _ ("_View");
#line 2412 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view.label = _tmp18_;
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = actions;
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19__length1 = actions_length1;
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = view;
#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add198 (&actions, &actions_length1, &_actions_size_, &_tmp20_);
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_.name = "Tools";
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_.stock_id = NULL;
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_.label = TRANSLATABLE;
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_.accelerator = NULL;
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_.tooltip = NULL;
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_.callback = (GCallback) NULL;
#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tools = _tmp21_;
#line 2416 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = _ ("T_ools");
#line 2416 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	tools.label = _tmp22_;
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = actions;
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23__length1 = actions_length1;
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = tools;
#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add199 (&actions, &actions_length1, &_actions_size_, &_tmp24_);
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_.name = "PrevPhoto";
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_.stock_id = RESOURCES_PREVIOUS_LABEL;
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_.label = TRANSLATABLE;
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_.accelerator = NULL;
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_.tooltip = TRANSLATABLE;
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_.callback = (GCallback) _single_photo_page_on_previous_photo_gtk_action_callback;
#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	prev = _tmp25_;
#line 2421 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = _ ("_Previous Photo");
#line 2421 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	prev.label = _tmp26_;
#line 2422 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = _ ("Previous Photo");
#line 2422 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	prev.tooltip = _tmp27_;
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = actions;
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28__length1 = actions_length1;
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp29_ = prev;
#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add200 (&actions, &actions_length1, &_actions_size_, &_tmp29_);
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_.name = "NextPhoto";
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_.stock_id = RESOURCES_NEXT_LABEL;
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_.label = TRANSLATABLE;
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_.accelerator = NULL;
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_.tooltip = TRANSLATABLE;
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp30_.callback = (GCallback) _single_photo_page_on_next_photo_gtk_action_callback;
#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	next = _tmp30_;
#line 2427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = _ ("_Next Photo");
#line 2427 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	next.label = _tmp31_;
#line 2428 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp32_ = _ ("Next Photo");
#line 2428 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	next.tooltip = _tmp32_;
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33_ = actions;
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33__length1 = actions_length1;
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp34_ = next;
#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add201 (&actions, &actions_length1, &_actions_size_, &_tmp34_);
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_.name = "RotateClockwise";
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_.stock_id = RESOURCES_CLOCKWISE;
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_.label = TRANSLATABLE;
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_.accelerator = "<Ctrl>R";
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_.tooltip = TRANSLATABLE;
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_.callback = (GCallback) _editing_host_page_on_rotate_clockwise_gtk_action_callback;
#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_right = _tmp35_;
#line 2433 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_right.label = RESOURCES_ROTATE_CW_MENU;
#line 2434 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_right.tooltip = RESOURCES_ROTATE_CW_TOOLTIP;
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp36_ = actions;
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp36__length1 = actions_length1;
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp37_ = rotate_right;
#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add202 (&actions, &actions_length1, &_actions_size_, &_tmp37_);
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_.name = "RotateCounterclockwise";
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_.stock_id = RESOURCES_COUNTERCLOCKWISE;
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_.label = TRANSLATABLE;
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_.accelerator = "<Ctrl><Shift>R";
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_.tooltip = TRANSLATABLE;
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp38_.callback = (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_action_callback;
#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_left = _tmp38_;
#line 2439 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_left.label = RESOURCES_ROTATE_CCW_MENU;
#line 2440 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_left.tooltip = RESOURCES_ROTATE_CCW_TOOLTIP;
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp39_ = actions;
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp39__length1 = actions_length1;
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp40_ = rotate_left;
#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add203 (&actions, &actions_length1, &_actions_size_, &_tmp40_);
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_.name = "FlipHorizontally";
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_.stock_id = RESOURCES_HFLIP;
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_.label = TRANSLATABLE;
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_.accelerator = NULL;
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_.tooltip = TRANSLATABLE;
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_.callback = (GCallback) _editing_host_page_on_flip_horizontally_gtk_action_callback;
#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	hflip = _tmp41_;
#line 2445 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	hflip.label = RESOURCES_HFLIP_MENU;
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp42_ = actions;
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp42__length1 = actions_length1;
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp43_ = hflip;
#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add204 (&actions, &actions_length1, &_actions_size_, &_tmp43_);
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_.name = "FlipVertically";
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_.stock_id = RESOURCES_VFLIP;
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_.label = TRANSLATABLE;
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_.accelerator = NULL;
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_.tooltip = TRANSLATABLE;
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_.callback = (GCallback) _editing_host_page_on_flip_vertically_gtk_action_callback;
#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	vflip = _tmp44_;
#line 2450 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	vflip.label = RESOURCES_VFLIP_MENU;
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp45_ = actions;
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp45__length1 = actions_length1;
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp46_ = vflip;
#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add205 (&actions, &actions_length1, &_actions_size_, &_tmp46_);
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_.name = "Enhance";
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_.stock_id = RESOURCES_ENHANCE;
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_.label = TRANSLATABLE;
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_.accelerator = "<Ctrl>E";
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_.tooltip = TRANSLATABLE;
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp47_.callback = (GCallback) _editing_host_page_on_enhance_gtk_action_callback;
#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	enhance = _tmp47_;
#line 2455 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	enhance.label = RESOURCES_ENHANCE_MENU;
#line 2456 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	enhance.tooltip = RESOURCES_ENHANCE_TOOLTIP;
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp48_ = actions;
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp48__length1 = actions_length1;
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp49_ = enhance;
#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add206 (&actions, &actions_length1, &_actions_size_, &_tmp49_);
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_.name = "CopyColorAdjustments";
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_.stock_id = NULL;
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_.label = TRANSLATABLE;
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_.accelerator = "<Ctrl><Shift>C";
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_.tooltip = TRANSLATABLE;
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp50_.callback = (GCallback) _editing_host_page_on_copy_adjustments_gtk_action_callback;
#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	copy_adjustments = _tmp50_;
#line 2461 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	copy_adjustments.label = RESOURCES_COPY_ADJUSTMENTS_MENU;
#line 2462 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	copy_adjustments.tooltip = RESOURCES_COPY_ADJUSTMENTS_TOOLTIP;
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp51_ = actions;
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp51__length1 = actions_length1;
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp52_ = copy_adjustments;
#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add207 (&actions, &actions_length1, &_actions_size_, &_tmp52_);
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_.name = "PasteColorAdjustments";
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_.stock_id = NULL;
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_.label = TRANSLATABLE;
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_.accelerator = "<Ctrl><Shift>V";
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_.tooltip = TRANSLATABLE;
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp53_.callback = (GCallback) _editing_host_page_on_paste_adjustments_gtk_action_callback;
#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	paste_adjustments = _tmp53_;
#line 2467 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	paste_adjustments.label = RESOURCES_PASTE_ADJUSTMENTS_MENU;
#line 2468 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	paste_adjustments.tooltip = RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP;
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp54_ = actions;
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp54__length1 = actions_length1;
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp55_ = paste_adjustments;
#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add208 (&actions, &actions_length1, &_actions_size_, &_tmp55_);
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_.name = "Crop";
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_.stock_id = RESOURCES_CROP;
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_.label = TRANSLATABLE;
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_.accelerator = "<Ctrl>O";
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_.tooltip = TRANSLATABLE;
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_.callback = (GCallback) _editing_host_page_toggle_crop_gtk_action_callback;
#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	crop = _tmp56_;
#line 2473 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	crop.label = RESOURCES_CROP_MENU;
#line 2474 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	crop.tooltip = RESOURCES_CROP_TOOLTIP;
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp57_ = actions;
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp57__length1 = actions_length1;
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp58_ = crop;
#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add209 (&actions, &actions_length1, &_actions_size_, &_tmp58_);
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_.name = "Straighten";
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_.stock_id = RESOURCES_REFRESH_LABEL;
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_.label = TRANSLATABLE;
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_.accelerator = "<Ctrl>A";
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_.tooltip = TRANSLATABLE;
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp59_.callback = (GCallback) _editing_host_page_toggle_straighten_gtk_action_callback;
#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	straighten = _tmp59_;
#line 2479 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	straighten.label = RESOURCES_STRAIGHTEN_MENU;
#line 2480 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	straighten.tooltip = RESOURCES_STRAIGHTEN_TOOLTIP;
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp60_ = actions;
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp60__length1 = actions_length1;
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp61_ = straighten;
#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add210 (&actions, &actions_length1, &_actions_size_, &_tmp61_);
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_.name = "RedEye";
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_.stock_id = RESOURCES_REDEYE;
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_.label = TRANSLATABLE;
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_.accelerator = "<Ctrl>Y";
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_.tooltip = TRANSLATABLE;
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_.callback = (GCallback) _editing_host_page_toggle_redeye_gtk_action_callback;
#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	red_eye = _tmp62_;
#line 2485 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	red_eye.label = RESOURCES_RED_EYE_MENU;
#line 2486 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	red_eye.tooltip = RESOURCES_RED_EYE_TOOLTIP;
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp63_ = actions;
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp63__length1 = actions_length1;
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp64_ = red_eye;
#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add211 (&actions, &actions_length1, &_actions_size_, &_tmp64_);
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_.name = "Adjust";
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_.stock_id = RESOURCES_ADJUST;
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_.label = TRANSLATABLE;
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_.accelerator = "<Ctrl>D";
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_.tooltip = TRANSLATABLE;
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp65_.callback = (GCallback) _editing_host_page_toggle_adjust_gtk_action_callback;
#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	adjust = _tmp65_;
#line 2491 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	adjust.label = RESOURCES_ADJUST_MENU;
#line 2492 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	adjust.tooltip = RESOURCES_ADJUST_TOOLTIP;
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp66_ = actions;
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp66__length1 = actions_length1;
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp67_ = adjust;
#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add212 (&actions, &actions_length1, &_actions_size_, &_tmp67_);
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_.name = "Revert";
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_.stock_id = RESOURCES_REVERT_TO_SAVED_LABEL;
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_.label = TRANSLATABLE;
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_.accelerator = NULL;
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_.tooltip = TRANSLATABLE;
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp68_.callback = (GCallback) _editing_host_page_on_revert_gtk_action_callback;
#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	revert = _tmp68_;
#line 2497 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	revert.label = RESOURCES_REVERT_MENU;
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp69_ = actions;
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp69__length1 = actions_length1;
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp70_ = revert;
#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add213 (&actions, &actions_length1, &_actions_size_, &_tmp70_);
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_.name = "EditTitle";
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_.stock_id = NULL;
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_.label = TRANSLATABLE;
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_.accelerator = "F2";
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_.tooltip = TRANSLATABLE;
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp71_.callback = (GCallback) _editing_host_page_on_edit_title_gtk_action_callback;
#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_title = _tmp71_;
#line 2502 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_title.label = RESOURCES_EDIT_TITLE_MENU;
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp72_ = actions;
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp72__length1 = actions_length1;
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp73_ = edit_title;
#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add214 (&actions, &actions_length1, &_actions_size_, &_tmp73_);
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_.name = "EditComment";
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_.stock_id = NULL;
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_.label = TRANSLATABLE;
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_.accelerator = "F3";
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_.tooltip = TRANSLATABLE;
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp74_.callback = (GCallback) _editing_host_page_on_edit_comment_gtk_action_callback;
#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_comment = _tmp74_;
#line 2507 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_comment.label = RESOURCES_EDIT_COMMENT_MENU;
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp75_ = actions;
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp75__length1 = actions_length1;
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp76_ = edit_comment;
#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add215 (&actions, &actions_length1, &_actions_size_, &_tmp76_);
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_.name = "AdjustDateTime";
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_.stock_id = NULL;
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_.label = TRANSLATABLE;
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_.accelerator = NULL;
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_.tooltip = TRANSLATABLE;
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp77_.callback = (GCallback) _editing_host_page_on_adjust_date_time_gtk_action_callback;
#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	adjust_date_time = _tmp77_;
#line 2512 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	adjust_date_time.label = RESOURCES_ADJUST_DATE_TIME_MENU;
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp78_ = actions;
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp78__length1 = actions_length1;
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp79_ = adjust_date_time;
#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add216 (&actions, &actions_length1, &_actions_size_, &_tmp79_);
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_.name = "ExternalEdit";
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_.stock_id = RESOURCES_EDIT_LABEL;
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_.label = TRANSLATABLE;
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_.accelerator = "<Ctrl>Return";
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_.tooltip = TRANSLATABLE;
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp80_.callback = (GCallback) _library_photo_page_on_external_edit_gtk_action_callback;
#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	external_edit = _tmp80_;
#line 2517 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	external_edit.label = RESOURCES_EXTERNAL_EDIT_MENU;
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp81_ = actions;
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp81__length1 = actions_length1;
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp82_ = external_edit;
#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add217 (&actions, &actions_length1, &_actions_size_, &_tmp82_);
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp83_.name = "ExternalEditRAW";
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp83_.stock_id = NULL;
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp83_.label = TRANSLATABLE;
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp83_.accelerator = "<Ctrl><Shift>Return";
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp83_.tooltip = TRANSLATABLE;
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp83_.callback = (GCallback) _library_photo_page_on_external_edit_raw_gtk_action_callback;
#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_raw = _tmp83_;
#line 2522 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	edit_raw.label = RESOURCES_EXTERNAL_EDIT_RAW_MENU;
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp84_ = actions;
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp84__length1 = actions_length1;
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp85_ = edit_raw;
#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add218 (&actions, &actions_length1, &_actions_size_, &_tmp85_);
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_.name = "SendTo";
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_.stock_id = "document-send";
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_.label = TRANSLATABLE;
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_.accelerator = NULL;
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_.tooltip = TRANSLATABLE;
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp86_.callback = (GCallback) _library_photo_page_on_send_to_gtk_action_callback;
#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	send_to = _tmp86_;
#line 2527 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	send_to.label = RESOURCES_SEND_TO_MENU;
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp87_ = actions;
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp87__length1 = actions_length1;
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp88_ = send_to;
#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add219 (&actions, &actions_length1, &_actions_size_, &_tmp88_);
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_.name = "SetBackground";
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_.stock_id = NULL;
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_.label = TRANSLATABLE;
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_.accelerator = "<Ctrl>B";
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_.tooltip = TRANSLATABLE;
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp89_.callback = (GCallback) _editing_host_page_on_set_background_gtk_action_callback;
#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	set_background = _tmp89_;
#line 2532 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	set_background.label = RESOURCES_SET_BACKGROUND_MENU;
#line 2533 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	set_background.tooltip = RESOURCES_SET_BACKGROUND_TOOLTIP;
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp90_ = actions;
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp90__length1 = actions_length1;
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp91_ = set_background;
#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add220 (&actions, &actions_length1, &_actions_size_, &_tmp91_);
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_.name = "Flag";
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_.stock_id = NULL;
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_.label = TRANSLATABLE;
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_.accelerator = "<Ctrl>G";
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_.tooltip = TRANSLATABLE;
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp92_.callback = (GCallback) _library_photo_page_on_flag_unflag_gtk_action_callback;
#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	flag = _tmp92_;
#line 2537 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	flag.label = RESOURCES_FLAG_MENU;
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp93_ = actions;
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp93__length1 = actions_length1;
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp94_ = flag;
#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add221 (&actions, &actions_length1, &_actions_size_, &_tmp94_);
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_.name = "Rate";
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_.stock_id = NULL;
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_.label = TRANSLATABLE;
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_.accelerator = NULL;
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_.tooltip = NULL;
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp95_.callback = (GCallback) NULL;
#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	set_rating = _tmp95_;
#line 2541 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	set_rating.label = RESOURCES_RATING_MENU;
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp96_ = actions;
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp96__length1 = actions_length1;
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp97_ = set_rating;
#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add222 (&actions, &actions_length1, &_actions_size_, &_tmp97_);
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_.name = "IncreaseRating";
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_.stock_id = NULL;
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_.label = TRANSLATABLE;
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_.accelerator = "greater";
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_.tooltip = TRANSLATABLE;
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp98_.callback = (GCallback) _library_photo_page_on_increase_rating_gtk_action_callback;
#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	increase_rating = _tmp98_;
#line 2546 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	increase_rating.label = RESOURCES_INCREASE_RATING_MENU;
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp99_ = actions;
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp99__length1 = actions_length1;
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp100_ = increase_rating;
#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add223 (&actions, &actions_length1, &_actions_size_, &_tmp100_);
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_.name = "DecreaseRating";
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_.stock_id = NULL;
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_.label = TRANSLATABLE;
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_.accelerator = "less";
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_.tooltip = TRANSLATABLE;
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp101_.callback = (GCallback) _library_photo_page_on_decrease_rating_gtk_action_callback;
#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	decrease_rating = _tmp101_;
#line 2551 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	decrease_rating.label = RESOURCES_DECREASE_RATING_MENU;
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp102_ = actions;
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp102__length1 = actions_length1;
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp103_ = decrease_rating;
#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add224 (&actions, &actions_length1, &_actions_size_, &_tmp103_);
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_.name = "RateRejected";
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_.stock_id = NULL;
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_.label = TRANSLATABLE;
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_.accelerator = "9";
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_.tooltip = TRANSLATABLE;
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp104_.callback = (GCallback) _library_photo_page_on_rate_rejected_gtk_action_callback;
#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_rejected = _tmp104_;
#line 2556 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp105_ = resources_rating_menu (RATING_REJECTED);
#line 2556 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_rejected.label = _tmp105_;
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp106_ = actions;
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp106__length1 = actions_length1;
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp107_ = rate_rejected;
#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add225 (&actions, &actions_length1, &_actions_size_, &_tmp107_);
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp108_.name = "RateUnrated";
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp108_.stock_id = NULL;
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp108_.label = TRANSLATABLE;
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp108_.accelerator = "0";
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp108_.tooltip = TRANSLATABLE;
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp108_.callback = (GCallback) _library_photo_page_on_rate_unrated_gtk_action_callback;
#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_unrated = _tmp108_;
#line 2561 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp109_ = resources_rating_menu (RATING_UNRATED);
#line 2561 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_unrated.label = _tmp109_;
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp110_ = actions;
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp110__length1 = actions_length1;
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp111_ = rate_unrated;
#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add226 (&actions, &actions_length1, &_actions_size_, &_tmp111_);
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp112_.name = "RateOne";
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp112_.stock_id = NULL;
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp112_.label = TRANSLATABLE;
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp112_.accelerator = "1";
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp112_.tooltip = TRANSLATABLE;
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp112_.callback = (GCallback) _library_photo_page_on_rate_one_gtk_action_callback;
#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_one = _tmp112_;
#line 2566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp113_ = resources_rating_menu (RATING_ONE);
#line 2566 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_one.label = _tmp113_;
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp114_ = actions;
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp114__length1 = actions_length1;
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp115_ = rate_one;
#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add227 (&actions, &actions_length1, &_actions_size_, &_tmp115_);
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp116_.name = "RateTwo";
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp116_.stock_id = NULL;
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp116_.label = TRANSLATABLE;
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp116_.accelerator = "2";
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp116_.tooltip = TRANSLATABLE;
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp116_.callback = (GCallback) _library_photo_page_on_rate_two_gtk_action_callback;
#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_two = _tmp116_;
#line 2571 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp117_ = resources_rating_menu (RATING_TWO);
#line 2571 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_two.label = _tmp117_;
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp118_ = actions;
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp118__length1 = actions_length1;
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp119_ = rate_two;
#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add228 (&actions, &actions_length1, &_actions_size_, &_tmp119_);
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp120_.name = "RateThree";
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp120_.stock_id = NULL;
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp120_.label = TRANSLATABLE;
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp120_.accelerator = "3";
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp120_.tooltip = TRANSLATABLE;
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp120_.callback = (GCallback) _library_photo_page_on_rate_three_gtk_action_callback;
#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_three = _tmp120_;
#line 2576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp121_ = resources_rating_menu (RATING_THREE);
#line 2576 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_three.label = _tmp121_;
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp122_ = actions;
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp122__length1 = actions_length1;
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp123_ = rate_three;
#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add229 (&actions, &actions_length1, &_actions_size_, &_tmp123_);
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp124_.name = "RateFour";
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp124_.stock_id = NULL;
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp124_.label = TRANSLATABLE;
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp124_.accelerator = "4";
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp124_.tooltip = TRANSLATABLE;
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp124_.callback = (GCallback) _library_photo_page_on_rate_four_gtk_action_callback;
#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_four = _tmp124_;
#line 2581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp125_ = resources_rating_menu (RATING_FOUR);
#line 2581 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_four.label = _tmp125_;
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp126_ = actions;
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp126__length1 = actions_length1;
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp127_ = rate_four;
#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add230 (&actions, &actions_length1, &_actions_size_, &_tmp127_);
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp128_.name = "RateFive";
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp128_.stock_id = NULL;
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp128_.label = TRANSLATABLE;
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp128_.accelerator = "5";
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp128_.tooltip = TRANSLATABLE;
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp128_.callback = (GCallback) _library_photo_page_on_rate_five_gtk_action_callback;
#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_five = _tmp128_;
#line 2586 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp129_ = resources_rating_menu (RATING_FIVE);
#line 2586 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rate_five.label = _tmp129_;
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp130_ = actions;
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp130__length1 = actions_length1;
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp131_ = rate_five;
#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add231 (&actions, &actions_length1, &_actions_size_, &_tmp131_);
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp132_.name = "IncreaseSize";
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp132_.stock_id = RESOURCES_ZOOM_IN_LABEL;
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp132_.label = TRANSLATABLE;
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp132_.accelerator = "<Ctrl>plus";
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp132_.tooltip = TRANSLATABLE;
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp132_.callback = (GCallback) _editing_host_page_on_increase_size_gtk_action_callback;
#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	increase_size = _tmp132_;
#line 2591 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp133_ = _ ("Zoom _In");
#line 2591 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	increase_size.label = _tmp133_;
#line 2592 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp134_ = _ ("Increase the magnification of the photo");
#line 2592 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	increase_size.tooltip = _tmp134_;
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp135_ = actions;
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp135__length1 = actions_length1;
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp136_ = increase_size;
#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add232 (&actions, &actions_length1, &_actions_size_, &_tmp136_);
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_.name = "DecreaseSize";
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_.stock_id = RESOURCES_ZOOM_OUT_LABEL;
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_.label = TRANSLATABLE;
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_.accelerator = "<Ctrl>minus";
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_.tooltip = TRANSLATABLE;
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp137_.callback = (GCallback) _editing_host_page_on_decrease_size_gtk_action_callback;
#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	decrease_size = _tmp137_;
#line 2597 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp138_ = _ ("Zoom _Out");
#line 2597 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	decrease_size.label = _tmp138_;
#line 2598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp139_ = _ ("Decrease the magnification of the photo");
#line 2598 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	decrease_size.tooltip = _tmp139_;
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp140_ = actions;
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp140__length1 = actions_length1;
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp141_ = decrease_size;
#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add233 (&actions, &actions_length1, &_actions_size_, &_tmp141_);
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp142_.name = "ZoomFit";
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp142_.stock_id = RESOURCES_ZOOM_FIT_LABEL;
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp142_.label = TRANSLATABLE;
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp142_.accelerator = "<Ctrl>0";
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp142_.tooltip = TRANSLATABLE;
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp142_.callback = (GCallback) _editing_host_page_snap_zoom_to_min_gtk_action_callback;
#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	best_fit = _tmp142_;
#line 2603 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp143_ = _ ("Fit to _Page");
#line 2603 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	best_fit.label = _tmp143_;
#line 2604 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp144_ = _ ("Zoom the photo to fit on the screen");
#line 2604 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	best_fit.tooltip = _tmp144_;
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp145_ = actions;
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp145__length1 = actions_length1;
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp146_ = best_fit;
#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add234 (&actions, &actions_length1, &_actions_size_, &_tmp146_);
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp147_.name = "Zoom100";
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp147_.stock_id = RESOURCES_ZOOM_100_LABEL;
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp147_.label = TRANSLATABLE;
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp147_.accelerator = "<Ctrl>1";
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp147_.tooltip = TRANSLATABLE;
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp147_.callback = (GCallback) _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback;
#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	actual_size = _tmp147_;
#line 2610 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp148_ = _ ("Zoom _100%");
#line 2610 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	actual_size.label = _tmp148_;
#line 2612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp149_ = _ ("Zoom the photo to 100% magnification");
#line 2612 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	actual_size.tooltip = _tmp149_;
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp150_ = actions;
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp150__length1 = actions_length1;
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp151_ = actual_size;
#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add235 (&actions, &actions_length1, &_actions_size_, &_tmp151_);
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp152_.name = "Zoom200";
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp152_.stock_id = NULL;
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp152_.label = TRANSLATABLE;
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp152_.accelerator = "<Ctrl>2";
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp152_.tooltip = TRANSLATABLE;
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp152_.callback = (GCallback) _editing_host_page_snap_zoom_to_max_gtk_action_callback;
#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	max_size = _tmp152_;
#line 2618 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp153_ = _ ("Zoom _200%");
#line 2618 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	max_size.label = _tmp153_;
#line 2620 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp154_ = _ ("Zoom the photo to 200% magnification");
#line 2620 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	max_size.tooltip = _tmp154_;
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp155_ = actions;
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp155__length1 = actions_length1;
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp156_ = max_size;
#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add236 (&actions, &actions_length1, &_actions_size_, &_tmp156_);
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp157_.name = "AddTags";
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp157_.stock_id = NULL;
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp157_.label = TRANSLATABLE;
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp157_.accelerator = "<Ctrl>T";
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp157_.tooltip = TRANSLATABLE;
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp157_.callback = (GCallback) _library_photo_page_on_add_tags_gtk_action_callback;
#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	add_tags = _tmp157_;
#line 2625 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	add_tags.label = RESOURCES_ADD_TAGS_MENU;
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp158_ = actions;
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp158__length1 = actions_length1;
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp159_ = add_tags;
#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add237 (&actions, &actions_length1, &_actions_size_, &_tmp159_);
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp160_.name = "ModifyTags";
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp160_.stock_id = NULL;
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp160_.label = TRANSLATABLE;
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp160_.accelerator = "<Ctrl>M";
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp160_.tooltip = TRANSLATABLE;
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp160_.callback = (GCallback) _library_photo_page_on_modify_tags_gtk_action_callback;
#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	modify_tags = _tmp160_;
#line 2630 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	modify_tags.label = RESOURCES_MODIFY_TAGS_MENU;
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp161_ = actions;
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp161__length1 = actions_length1;
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp162_ = modify_tags;
#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add238 (&actions, &actions_length1, &_actions_size_, &_tmp162_);
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp163_.name = "Slideshow";
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp163_.stock_id = NULL;
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp163_.label = TRANSLATABLE;
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp163_.accelerator = "F5";
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp163_.tooltip = TRANSLATABLE;
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp163_.callback = (GCallback) _library_photo_page_on_slideshow_gtk_action_callback;
#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	slideshow = _tmp163_;
#line 2635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp164_ = _ ("S_lideshow");
#line 2635 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	slideshow.label = _tmp164_;
#line 2636 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp165_ = _ ("Play a slideshow");
#line 2636 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	slideshow.tooltip = _tmp165_;
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp166_ = actions;
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp166__length1 = actions_length1;
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp167_ = slideshow;
#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add239 (&actions, &actions_length1, &_actions_size_, &_tmp167_);
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp168_.name = "RawDeveloper";
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp168_.stock_id = NULL;
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp168_.label = TRANSLATABLE;
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp168_.accelerator = NULL;
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp168_.tooltip = NULL;
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp168_.callback = (GCallback) NULL;
#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	raw_developer = _tmp168_;
#line 2640 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp169_ = _ ("_Developer");
#line 2640 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	raw_developer.label = _tmp169_;
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp170_ = actions;
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp170__length1 = actions_length1;
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp171_ = raw_developer;
#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add240 (&actions, &actions_length1, &_actions_size_, &_tmp171_);
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp172_.name = "SendToContextMenu";
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp172_.stock_id = "document-send";
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp172_.label = TRANSLATABLE;
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp172_.accelerator = NULL;
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp172_.tooltip = TRANSLATABLE;
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp172_.callback = (GCallback) _library_photo_page_on_send_to_gtk_action_callback;
#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	send_to_context_menu = _tmp172_;
#line 2647 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	send_to_context_menu.label = RESOURCES_SEND_TO_CONTEXT_MENU;
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp173_ = actions;
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp173__length1 = actions_length1;
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp174_ = send_to_context_menu;
#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add241 (&actions, &actions_length1, &_actions_size_, &_tmp174_);
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp175_.name = "AddTagsContextMenu";
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp175_.stock_id = NULL;
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp175_.label = TRANSLATABLE;
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp175_.accelerator = "<Ctrl>A";
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp175_.tooltip = TRANSLATABLE;
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp175_.callback = (GCallback) _library_photo_page_on_add_tags_gtk_action_callback;
#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	add_tags_context_menu = _tmp175_;
#line 2652 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	add_tags_context_menu.label = RESOURCES_ADD_TAGS_CONTEXT_MENU;
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp176_ = actions;
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp176__length1 = actions_length1;
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp177_ = add_tags_context_menu;
#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add242 (&actions, &actions_length1, &_actions_size_, &_tmp177_);
#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp178_ = actions;
#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp178__length1 = actions_length1;
#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (result_length1) {
#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*result_length1 = _tmp178__length1;
#line 17972 "PhotoPage.c"
	}
#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp178_;
#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 17978 "PhotoPage.c"
}


static void _library_photo_page_on_display_ratings_gtk_action_callback (GtkAction* action, gpointer self) {
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_display_ratings ((LibraryPhotoPage*) self, action);
#line 17985 "PhotoPage.c"
}


static void _vala_array_add243 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) {
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkToggleActionEntry, *array, *size);
#line 17996 "PhotoPage.c"
	}
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 18000 "PhotoPage.c"
}


static GtkToggleActionEntry* library_photo_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1) {
	LibraryPhotoPage * self;
	GtkToggleActionEntry* result = NULL;
	GtkToggleActionEntry* toggle_actions = NULL;
	gint _tmp0_ = 0;
	GtkToggleActionEntry* _tmp1_ = NULL;
	gint toggle_actions_length1 = 0;
	gint _toggle_actions_size_ = 0;
	GtkToggleActionEntry ratings = {0};
	ConfigFacade* _tmp2_ = NULL;
	ConfigFacade* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	GtkToggleActionEntry _tmp5_ = {0};
	GtkToggleActionEntry _tmp6_ = {0};
	GtkToggleActionEntry* _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	GtkToggleActionEntry _tmp8_ = {0};
	GtkToggleActionEntry* _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
#line 2658 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = PAGE_CLASS (library_photo_page_parent_class)->init_collect_toggle_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_);
#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	toggle_actions = _tmp1_;
#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	toggle_actions_length1 = _tmp0_;
#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_toggle_actions_size_ = toggle_actions_length1;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = config_facade_get_instance ();
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.name = "ViewRatings";
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.stock_id = NULL;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.label = TRANSLATABLE;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.accelerator = "<Ctrl><Shift>N";
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.tooltip = TRANSLATABLE;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.callback = (GCallback) _library_photo_page_on_display_ratings_gtk_action_callback;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.is_active = _tmp4_;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	ratings = _tmp6_;
#line 2663 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	ratings.label = RESOURCES_VIEW_RATINGS_MENU;
#line 2664 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	ratings.tooltip = RESOURCES_VIEW_RATINGS_TOOLTIP;
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = toggle_actions;
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7__length1 = toggle_actions_length1;
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = ratings;
#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add243 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp8_);
#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = toggle_actions;
#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9__length1 = toggle_actions_length1;
#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (result_length1) {
#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*result_length1 = _tmp9__length1;
#line 18079 "PhotoPage.c"
	}
#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp9_;
#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 18085 "PhotoPage.c"
}


static gpointer _injection_group_ref0 (gpointer self) {
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self ? injection_group_ref (self) : NULL;
#line 18092 "PhotoPage.c"
}


static void _vala_array_add244 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 18103 "PhotoPage.c"
	}
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = value;
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[*length] = NULL;
#line 18109 "PhotoPage.c"
}


static void _vala_array_add245 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 18120 "PhotoPage.c"
	}
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = value;
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[*length] = NULL;
#line 18126 "PhotoPage.c"
}


static void _vala_array_add246 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) {
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (InjectionGroup*, *array, (*size) + 1);
#line 18137 "PhotoPage.c"
	}
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = value;
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[*length] = NULL;
#line 18143 "PhotoPage.c"
}


static InjectionGroup** library_photo_page_real_init_collect_injection_groups (Page* base, int* result_length1) {
	LibraryPhotoPage * self;
	InjectionGroup** result = NULL;
	InjectionGroup** groups = NULL;
	gint _tmp0_ = 0;
	InjectionGroup** _tmp1_ = NULL;
	gint groups_length1 = 0;
	gint _groups_size_ = 0;
	InjectionGroup* print_group = NULL;
	InjectionGroup* _tmp2_ = NULL;
	InjectionGroup** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	InjectionGroup* _tmp4_ = NULL;
	InjectionGroup* publish_group = NULL;
	InjectionGroup* _tmp5_ = NULL;
	InjectionGroup** _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	InjectionGroup* _tmp7_ = NULL;
	InjectionGroup* bg_group = NULL;
	InjectionGroup* _tmp8_ = NULL;
	InjectionGroup** _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
	InjectionGroup* _tmp10_ = NULL;
	InjectionGroup** _tmp11_ = NULL;
	gint _tmp11__length1 = 0;
#line 2670 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = PAGE_CLASS (library_photo_page_parent_class)->init_collect_injection_groups (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_);
#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	groups = _tmp1_;
#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	groups_length1 = _tmp0_;
#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_groups_size_ = groups_length1;
#line 2673 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = injection_group_new ("/MenuBar/FileMenu/PrintPlaceholder");
#line 2673 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	print_group = _tmp2_;
#line 2674 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	injection_group_add_menu_item (print_group, "Print", NULL);
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = groups;
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3__length1 = groups_length1;
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _injection_group_ref0 (print_group);
#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add244 (&groups, &groups_length1, &_groups_size_, _tmp4_);
#line 2678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = injection_group_new ("/MenuBar/FileMenu/PublishPlaceholder");
#line 2678 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	publish_group = _tmp5_;
#line 2679 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	injection_group_add_menu_item (publish_group, "Publish", NULL);
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = groups;
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6__length1 = groups_length1;
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _injection_group_ref0 (publish_group);
#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add245 (&groups, &groups_length1, &_groups_size_, _tmp7_);
#line 2683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = injection_group_new ("/MenuBar/FileMenu/SetBackgroundPlaceholder");
#line 2683 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	bg_group = _tmp8_;
#line 2684 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	injection_group_add_menu_item (bg_group, "SetBackground", NULL);
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = groups;
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9__length1 = groups_length1;
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _injection_group_ref0 (bg_group);
#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add246 (&groups, &groups_length1, &_groups_size_, _tmp10_);
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = groups;
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11__length1 = groups_length1;
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (result_length1) {
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*result_length1 = _tmp11__length1;
#line 18232 "PhotoPage.c"
	}
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp11_;
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_injection_group_unref0 (bg_group);
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_injection_group_unref0 (publish_group);
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_injection_group_unref0 (print_group);
#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 18244 "PhotoPage.c"
}


static void _vala_array_add247 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) {
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkRadioActionEntry, *array, *size);
#line 18255 "PhotoPage.c"
	}
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 18259 "PhotoPage.c"
}


static void _vala_array_add248 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) {
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if ((*length) == (*size)) {
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		*array = g_renew (GtkRadioActionEntry, *array, *size);
#line 18270 "PhotoPage.c"
	}
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	(*array)[(*length)++] = *value;
#line 18274 "PhotoPage.c"
}


static void _library_photo_page_on_raw_developer_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self) {
#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_raw_developer_changed ((LibraryPhotoPage*) self, action, current);
#line 18281 "PhotoPage.c"
}


static void library_photo_page_real_register_radio_actions (Page* base, GtkActionGroup* action_group) {
	LibraryPhotoPage * self;
	GtkRadioActionEntry* developer_actions = NULL;
	GtkRadioActionEntry* _tmp0_ = NULL;
	gint developer_actions_length1 = 0;
	gint _developer_actions_size_ = 0;
	GtkRadioActionEntry dev_shotwell = {0};
	GtkRadioActionEntry _tmp1_ = {0};
	gchar* label_shotwell = NULL;
	gchar* _tmp2_ = NULL;
	GtkRadioActionEntry* _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	GtkRadioActionEntry _tmp4_ = {0};
	GtkRadioActionEntry dev_camera = {0};
	GtkRadioActionEntry _tmp5_ = {0};
	gchar* label_camera = NULL;
	gchar* _tmp6_ = NULL;
	GtkRadioActionEntry* _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	GtkRadioActionEntry _tmp8_ = {0};
	GtkActionGroup* _tmp9_ = NULL;
	GtkRadioActionEntry* _tmp10_ = NULL;
	gint _tmp10__length1 = 0;
	GtkActionGroup* _tmp11_ = NULL;
#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = g_new0 (GtkRadioActionEntry, 0);
#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	developer_actions = _tmp0_;
#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	developer_actions_length1 = 0;
#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_developer_actions_size_ = developer_actions_length1;
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_.name = "RawDeveloperShotwell";
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_.stock_id = NULL;
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_.label = TRANSLATABLE;
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_.accelerator = NULL;
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_.tooltip = TRANSLATABLE;
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_.value = (gint) RAW_DEVELOPER_SHOTWELL;
#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dev_shotwell = _tmp1_;
#line 2699 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = raw_developer_get_label (RAW_DEVELOPER_SHOTWELL);
#line 2699 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	label_shotwell = _tmp2_;
#line 2700 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dev_shotwell.label = label_shotwell;
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = developer_actions;
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3__length1 = developer_actions_length1;
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = dev_shotwell;
#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add247 (&developer_actions, &developer_actions_length1, &_developer_actions_size_, &_tmp4_);
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.name = "RawDeveloperCamera";
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.stock_id = NULL;
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.label = TRANSLATABLE;
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.accelerator = NULL;
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.tooltip = TRANSLATABLE;
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_.value = (gint) RAW_DEVELOPER_CAMERA;
#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dev_camera = _tmp5_;
#line 2705 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = raw_developer_get_label (RAW_DEVELOPER_CAMERA);
#line 2705 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	label_camera = _tmp6_;
#line 2706 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dev_camera.label = label_camera;
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = developer_actions;
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7__length1 = developer_actions_length1;
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = dev_camera;
#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_array_add248 (&developer_actions, &developer_actions_length1, &_developer_actions_size_, &_tmp8_);
#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = action_group;
#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = developer_actions;
#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10__length1 = developer_actions_length1;
#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gtk_action_group_add_radio_actions (_tmp9_, _tmp10_, _tmp10__length1, (gint) RAW_DEVELOPER_SHOTWELL, (GCallback) _library_photo_page_on_raw_developer_changed_gtk_radio_action_callback, self);
#line 2711 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = action_group;
#line 2711 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (library_photo_page_parent_class)->register_radio_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp11_);
#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (label_camera);
#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (label_shotwell);
#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	developer_actions = (g_free (developer_actions), NULL);
#line 18395 "PhotoPage.c"
}


static void library_photo_page_on_display_ratings (LibraryPhotoPage* self, GtkAction* action) {
	gboolean display = FALSE;
	GtkAction* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	ConfigFacade* _tmp2_ = NULL;
	ConfigFacade* _tmp3_ = NULL;
#line 2714 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2714 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GTK_IS_ACTION (action));
#line 2715 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = action;
#line 2715 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction));
#line 2715 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	display = _tmp1_;
#line 2717 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_set_display_ratings (self, display);
#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = config_facade_get_instance ();
#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	configuration_facade_set_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display);
#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 2720 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 18427 "PhotoPage.c"
}


static void library_photo_page_set_display_ratings (LibraryPhotoPage* self, gboolean display) {
	GtkToggleAction* action = NULL;
	GtkAction* _tmp0_ = NULL;
	GtkToggleAction* _tmp1_ = NULL;
	GtkToggleAction* _tmp2_ = NULL;
#line 2723 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewRatings");
#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL;
#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == NULL) {
#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp0_);
#line 18446 "PhotoPage.c"
	}
#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	action = _tmp1_;
#line 2725 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = action;
#line 2725 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_ != NULL) {
#line 18454 "PhotoPage.c"
		GtkToggleAction* _tmp3_ = NULL;
		gboolean _tmp4_ = FALSE;
#line 2726 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = action;
#line 2726 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = display;
#line 2726 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gtk_toggle_action_set_active (_tmp3_, _tmp4_);
#line 18463 "PhotoPage.c"
	}
#line 2723 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (action);
#line 18467 "PhotoPage.c"
}


static void library_photo_page_real_update_actions (Page* base, gint selected_count, gint count) {
	LibraryPhotoPage * self;
	gboolean multiple = FALSE;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean rotate_possible = FALSE;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	gboolean is_raw = FALSE;
	gboolean _tmp14_ = FALSE;
	gboolean _tmp15_ = FALSE;
	gboolean _tmp20_ = FALSE;
	gboolean _tmp21_ = FALSE;
	gboolean _tmp30_ = FALSE;
	gboolean _tmp31_ = FALSE;
	gboolean _tmp33_ = FALSE;
	gboolean _tmp34_ = FALSE;
	gboolean _tmp35_ = FALSE;
	gboolean _tmp39_ = FALSE;
	gboolean _tmp40_ = FALSE;
	gboolean _tmp41_ = FALSE;
	gboolean _tmp42_ = FALSE;
	gboolean _tmp43_ = FALSE;
	gboolean _tmp44_ = FALSE;
	gboolean _tmp45_ = FALSE;
	gboolean _tmp46_ = FALSE;
	gboolean _tmp55_ = FALSE;
	gboolean _tmp56_ = FALSE;
	gint _tmp61_ = 0;
	gint _tmp62_ = 0;
#line 2729 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection));
#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_ > 1;
#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	multiple = _tmp3_;
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_) {
#line 18523 "PhotoPage.c"
		Photo* _tmp6_ = NULL;
		Photo* _tmp7_ = NULL;
		gboolean _tmp8_ = FALSE;
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp6_;
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = editing_host_page_is_rotate_available (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp7_);
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp8_;
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp7_);
#line 18537 "PhotoPage.c"
	} else {
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = FALSE;
#line 18541 "PhotoPage.c"
	}
#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	rotate_possible = _tmp4_;
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_) {
#line 18549 "PhotoPage.c"
		Photo* _tmp11_ = NULL;
		Photo* _tmp12_ = NULL;
		PhotoFileFormat _tmp13_ = 0;
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = photo_get_master_file_format (_tmp12_);
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = _tmp13_ == PHOTO_FILE_FORMAT_RAW;
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp12_);
#line 18563 "PhotoPage.c"
	} else {
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = FALSE;
#line 18567 "PhotoPage.c"
	}
#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	is_raw = _tmp9_;
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp15_) {
#line 18575 "PhotoPage.c"
		ConfigFacade* _tmp16_ = NULL;
		ConfigFacade* _tmp17_ = NULL;
		gchar* _tmp18_ = NULL;
		gchar* _tmp19_ = NULL;
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = config_facade_get_instance ();
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = _tmp16_;
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp18_;
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = g_strcmp0 (_tmp19_, "") != 0;
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp19_);
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp17_);
#line 18594 "PhotoPage.c"
	} else {
#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = FALSE;
#line 18598 "PhotoPage.c"
	}
#line 2734 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp14_);
#line 2737 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2737 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp21_) {
#line 18606 "PhotoPage.c"
		gboolean _tmp22_ = FALSE;
		Photo* _tmp23_ = NULL;
		Photo* _tmp24_ = NULL;
		gboolean _tmp25_ = FALSE;
		gboolean _tmp26_ = FALSE;
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = _tmp23_;
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = photo_has_transformations (_tmp24_);
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = _tmp25_;
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp24_);
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp26_) {
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp22_ = TRUE;
#line 18626 "PhotoPage.c"
		} else {
			Photo* _tmp27_ = NULL;
			Photo* _tmp28_ = NULL;
			gboolean _tmp29_ = FALSE;
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp27_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp28_ = _tmp27_;
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp29_ = photo_has_editable (_tmp28_);
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp22_ = _tmp29_;
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp28_);
#line 18641 "PhotoPage.c"
		}
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp22_;
#line 18645 "PhotoPage.c"
	} else {
#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = FALSE;
#line 18649 "PhotoPage.c"
	}
#line 2737 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp20_);
#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp31_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp31_) {
#line 18657 "PhotoPage.c"
		gboolean _tmp32_ = FALSE;
#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = !_tmp32_;
#line 18663 "PhotoPage.c"
	} else {
#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = FALSE;
#line 18667 "PhotoPage.c"
	}
#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp30_) {
#line 2741 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_photo_page_update_rating_menu_item_sensitivity (self);
#line 2742 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_photo_page_update_development_menu_item_sensitivity (self);
#line 18675 "PhotoPage.c"
	}
#line 2745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp33_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2745 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp33_);
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp35_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp35_) {
#line 18685 "PhotoPage.c"
		Photo* _tmp36_ = NULL;
		Photo* _tmp37_ = NULL;
		gboolean _tmp38_ = FALSE;
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp36_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = _tmp36_;
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp38_ = photo_has_color_adjustments (_tmp37_);
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp34_ = _tmp38_;
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp37_);
#line 18699 "PhotoPage.c"
	} else {
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp34_ = FALSE;
#line 18703 "PhotoPage.c"
	}
#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CopyColorAdjustments", _tmp34_);
#line 2748 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp39_ = pixel_transformation_bundle_has_copied_color_adjustments ();
#line 2748 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", _tmp39_);
#line 2750 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp40_ = multiple;
#line 2750 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PrevPhoto", _tmp40_);
#line 2751 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp41_ = multiple;
#line 2751 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "NextPhoto", _tmp41_);
#line 2752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp42_ = rotate_possible;
#line 2752 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", _tmp42_);
#line 2753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp43_ = rotate_possible;
#line 2753 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", _tmp43_);
#line 2754 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp44_ = rotate_possible;
#line 2754 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", _tmp44_);
#line 2755 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp45_ = rotate_possible;
#line 2755 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", _tmp45_);
#line 2757 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp46_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2757 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp46_) {
#line 18739 "PhotoPage.c"
		Photo* _tmp47_ = NULL;
		Photo* _tmp48_ = NULL;
		Scaling _tmp49_ = {0};
		gboolean _tmp50_ = FALSE;
		Photo* _tmp51_ = NULL;
		Photo* _tmp52_ = NULL;
		Scaling _tmp53_ = {0};
		gboolean _tmp54_ = FALSE;
#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp47_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp48_ = _tmp47_;
#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		scaling_for_original (&_tmp49_);
#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp50_ = editing_tools_crop_tool_is_available (_tmp48_, &_tmp49_);
#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Crop", _tmp50_);
#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp48_);
#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp51_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp52_ = _tmp51_;
#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		scaling_for_original (&_tmp53_);
#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp54_ = editing_tools_redeye_tool_is_available (_tmp52_, &_tmp53_);
#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RedEye", _tmp54_);
#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp52_);
#line 18772 "PhotoPage.c"
	}
#line 2763 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_flag_action (self);
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp56_ = is_raw;
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp56_) {
#line 18780 "PhotoPage.c"
		ConfigFacade* _tmp57_ = NULL;
		ConfigFacade* _tmp58_ = NULL;
		gchar* _tmp59_ = NULL;
		gchar* _tmp60_ = NULL;
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp57_ = config_facade_get_instance ();
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp58_ = _tmp57_;
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp59_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp60_ = _tmp59_;
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp55_ = g_strcmp0 (_tmp60_, "") != 0;
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp60_);
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp58_);
#line 18799 "PhotoPage.c"
	} else {
#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp55_ = FALSE;
#line 18803 "PhotoPage.c"
	}
#line 2765 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEditRAW", _tmp55_);
#line 2768 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp61_ = selected_count;
#line 2768 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp62_ = count;
#line 2768 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (library_photo_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp61_, _tmp62_);
#line 18813 "PhotoPage.c"
}


static void library_photo_page_on_photos_altered (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 2771 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2772 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2772 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 18826 "PhotoPage.c"
		gboolean _tmp2_ = FALSE;
		Photo* _tmp3_ = NULL;
		Photo* _tmp4_ = NULL;
		gboolean _tmp5_ = FALSE;
		gboolean _tmp6_ = FALSE;
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = photo_has_transformations (_tmp4_);
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp6_) {
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp2_ = TRUE;
#line 18846 "PhotoPage.c"
		} else {
			Photo* _tmp7_ = NULL;
			Photo* _tmp8_ = NULL;
			gboolean _tmp9_ = FALSE;
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp8_ = _tmp7_;
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = photo_has_editable (_tmp8_);
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp2_ = _tmp9_;
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp8_);
#line 18861 "PhotoPage.c"
		}
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_;
#line 18865 "PhotoPage.c"
	} else {
#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 18869 "PhotoPage.c"
	}
#line 2772 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp0_);
#line 2774 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_flag_action (self);
#line 18875 "PhotoPage.c"
}


static void library_photo_page_on_raw_developer_changed (LibraryPhotoPage* self, GtkAction* action, GtkAction* current) {
	GtkAction* _tmp0_ = NULL;
	gint _tmp1_ = 0;
#line 2777 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2777 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GTK_IS_ACTION (action));
#line 2777 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GTK_IS_ACTION (current));
#line 2778 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = current;
#line 2778 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = gtk_radio_action_get_current_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction));
#line 2778 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_developer_changed (self, (RawDeveloper) _tmp1_);
#line 18894 "PhotoPage.c"
}


static void library_photo_page_real_developer_changed (LibraryPhotoPage* self, RawDeveloper rd) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	Photo* photo = NULL;
	ViewCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	GeeList* _tmp6_ = NULL;
	GeeList* _tmp7_ = NULL;
	gpointer _tmp8_ = NULL;
	DataView* _tmp9_ = NULL;
	DataSource* _tmp10_ = NULL;
	Photo* _tmp11_ = NULL;
	Photo* _tmp12_ = NULL;
	gboolean _tmp13_ = FALSE;
	Photo* _tmp14_ = NULL;
	gboolean _tmp19_ = FALSE;
	Photo* _tmp20_ = NULL;
	gboolean _tmp21_ = FALSE;
#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_ != 1;
#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_) {
#line 2783 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 18932 "PhotoPage.c"
	}
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = view_collection_get_selected (_tmp5_);
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = gee_list_get (_tmp7_, 0);
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = (DataView*) _tmp8_;
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = data_view_get_source (_tmp9_);
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_PHOTO) ? ((Photo*) _tmp10_) : NULL;
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp11_ == NULL) {
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp10_);
#line 18954 "PhotoPage.c"
	}
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp9_);
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp7_);
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp5_);
#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = _tmp12_;
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = photo;
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp14_ == NULL) {
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = TRUE;
#line 18972 "PhotoPage.c"
	} else {
		RawDeveloper _tmp15_ = 0;
		Photo* _tmp16_ = NULL;
		RawDeveloper _tmp17_ = 0;
		gboolean _tmp18_ = FALSE;
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = rd;
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = photo;
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = photo_get_raw_developer (_tmp16_);
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = raw_developer_is_equivalent (_tmp15_, _tmp17_);
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = _tmp18_;
#line 18988 "PhotoPage.c"
	}
#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp13_) {
#line 2787 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo);
#line 2787 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 18996 "PhotoPage.c"
	}
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = photo;
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = photo_has_transformations (_tmp20_);
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp21_) {
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = TRUE;
#line 19006 "PhotoPage.c"
	} else {
		gboolean _tmp22_ = FALSE;
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = dialogs_confirm_warn_developer_changed (1);
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = _tmp22_;
#line 19013 "PhotoPage.c"
	}
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp19_) {
#line 19017 "PhotoPage.c"
		SetRawDeveloperCommand* command = NULL;
		ViewCollection* _tmp23_ = NULL;
		ViewCollection* _tmp24_ = NULL;
		GeeList* _tmp25_ = NULL;
		GeeList* _tmp26_ = NULL;
		RawDeveloper _tmp27_ = 0;
		SetRawDeveloperCommand* _tmp28_ = NULL;
		SetRawDeveloperCommand* _tmp29_ = NULL;
		CommandManager* _tmp30_ = NULL;
		CommandManager* _tmp31_ = NULL;
		SetRawDeveloperCommand* _tmp32_ = NULL;
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = _tmp23_;
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = view_collection_get_selected (_tmp24_);
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = _tmp25_;
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp27_ = rd;
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = set_raw_developer_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable), _tmp27_);
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = _tmp28_;
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp26_);
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp24_);
#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command = _tmp29_;
#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = _tmp30_;
#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = command;
#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command_manager_execute (_tmp31_, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_COMMAND, Command));
#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_command_manager_unref0 (_tmp31_);
#line 2796 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_photo_page_update_development_menu_item_sensitivity (self);
#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (command);
#line 19063 "PhotoPage.c"
	}
#line 2781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 19067 "PhotoPage.c"
}


void library_photo_page_developer_changed (LibraryPhotoPage* self, RawDeveloper rd) {
#line 2781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2781 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	LIBRARY_PHOTO_PAGE_GET_CLASS (self)->developer_changed (self, rd);
#line 19076 "PhotoPage.c"
}


static void library_photo_page_update_flag_action (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
#line 2800 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2801 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2801 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 19088 "PhotoPage.c"
		GtkAction* action = NULL;
		GtkAction* _tmp1_ = NULL;
		GtkAction* _tmp2_ = NULL;
		gboolean is_flagged = FALSE;
		Photo* _tmp3_ = NULL;
		LibraryPhoto* _tmp4_ = NULL;
		gboolean _tmp5_ = FALSE;
		gboolean _tmp6_ = FALSE;
		const gchar* _tmp7_ = NULL;
		gboolean _tmp8_ = FALSE;
		GtkAction* _tmp9_ = NULL;
		GtkAction* _tmp10_ = NULL;
#line 2802 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag");
#line 2802 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		action = _tmp1_;
#line 2803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = action;
#line 2803 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_vala_assert (_tmp2_ != NULL, "action != null");
#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_FLAGGABLE, Flaggable));
#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		is_flagged = _tmp6_;
#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = is_flagged;
#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp8_) {
#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = RESOURCES_UNFLAG_MENU;
#line 19127 "PhotoPage.c"
		} else {
#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp7_ = RESOURCES_FLAG_MENU;
#line 19131 "PhotoPage.c"
		}
#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = action;
#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gtk_action_set_label (_tmp9_, _tmp7_);
#line 2808 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = action;
#line 2808 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gtk_action_set_sensitive (_tmp10_, TRUE);
#line 2801 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (action);
#line 19143 "PhotoPage.c"
	} else {
#line 2810 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag", FALSE);
#line 19147 "PhotoPage.c"
	}
}


static void _library_photo_page_on_page_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self) {
#line 2821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_page_destroyed ((LibraryPhotoPage*) self);
#line 19155 "PhotoPage.c"
}


void library_photo_page_display_for_collection (LibraryPhotoPage* self, CollectionPage* return_page, Photo* photo, ViewCollection* view) {
	CollectionPage* _tmp0_ = NULL;
	CollectionPage* _tmp1_ = NULL;
	CollectionPage* _tmp2_ = NULL;
	ViewCollection* _tmp3_ = NULL;
	ViewCollection* _tmp4_ = NULL;
	Photo* _tmp9_ = NULL;
#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_COLLECTION_PAGE (return_page));
#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (photo));
#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail ((view == NULL) || IS_VIEW_COLLECTION (view));
#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = return_page;
#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->return_page);
#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->return_page = _tmp1_;
#line 2821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = return_page;
#line 2821 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), "destroy", (GCallback) _library_photo_page_on_page_destroyed_gtk_widget_destroy, self, 0);
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = view;
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_ != NULL) {
#line 19190 "PhotoPage.c"
		ViewCollection* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = view;
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _data_collection_ref0 (_tmp5_);
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp3_);
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp6_;
#line 19201 "PhotoPage.c"
	} else {
		CollectionPage* _tmp7_ = NULL;
		ViewCollection* _tmp8_ = NULL;
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = return_page;
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PAGE, Page));
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp3_);
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp8_;
#line 19213 "PhotoPage.c"
	}
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = photo;
#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_display_copy_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp3_, _tmp9_);
#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp3_);
#line 19221 "PhotoPage.c"
}


void library_photo_page_on_page_destroyed (LibraryPhotoPage* self) {
#line 2826 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->return_page);
#line 2829 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->return_page = NULL;
#line 2830 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	editing_host_page_unset_view_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 19234 "PhotoPage.c"
}


CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self) {
	CollectionPage* result = NULL;
	CollectionPage* _tmp0_ = NULL;
	CollectionPage* _tmp1_ = NULL;
#line 2833 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_LIBRARY_PHOTO_PAGE (self), NULL);
#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->return_page;
#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp1_;
#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 19252 "PhotoPage.c"
}


static void library_photo_page_real_switched_to (Page* base) {
	LibraryPhotoPage * self;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	ConfigFacade* _tmp2_ = NULL;
	ConfigFacade* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
#line 2837 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (_tmp1_ != NULL, "get_photo() != null");
#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 2843 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	PAGE_CLASS (library_photo_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page));
#line 2845 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_zoom_menu_item_sensitivity (self);
#line 2846 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_rating_menu_item_sensitivity (self);
#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = config_facade_get_instance ();
#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_set_display_ratings (self, _tmp4_);
#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 19289 "PhotoPage.c"
}


static GdkPixbuf* library_photo_page_real_get_bottom_left_trinket (EditingHostPage* base, gint scale) {
	LibraryPhotoPage * self;
	GdkPixbuf* result = NULL;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	Photo* _tmp5_ = NULL;
	LibraryPhoto* _tmp6_ = NULL;
	Rating _tmp7_ = 0;
	gint _tmp8_ = 0;
	GdkPixbuf* _tmp9_ = NULL;
	GdkPixbuf* _tmp10_ = NULL;
#line 2851 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 19312 "PhotoPage.c"
	} else {
		ConfigFacade* _tmp2_ = NULL;
		ConfigFacade* _tmp3_ = NULL;
		gboolean _tmp4_ = FALSE;
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = config_facade_get_instance ();
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp2_;
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp4_;
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 19327 "PhotoPage.c"
	}
#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 2853 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = NULL;
#line 2853 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 19335 "PhotoPage.c"
	}
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource));
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = scale;
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = resources_get_rating_trinket (_tmp7_, _tmp8_);
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp6_);
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp10_;
#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 19355 "PhotoPage.c"
}


static GdkPixbuf* library_photo_page_real_get_top_right_trinket (EditingHostPage* base, gint scale) {
	LibraryPhotoPage * self;
	GdkPixbuf* result = NULL;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GdkPixbuf* _tmp5_ = NULL;
#line 2858 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 19373 "PhotoPage.c"
	} else {
		Photo* _tmp2_ = NULL;
		LibraryPhoto* _tmp3_ = NULL;
		gboolean _tmp4_ = FALSE;
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_FLAGGABLE, Flaggable));
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp4_;
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 19388 "PhotoPage.c"
	}
#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 2860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = NULL;
#line 2860 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 19396 "PhotoPage.c"
	}
#line 2862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = resources_get_icon (RESOURCES_ICON_FLAGGED_TRINKET, RESOURCES_DEFAULT_ICON_SCALE);
#line 2862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp5_;
#line 2862 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 19404 "PhotoPage.c"
}


static void library_photo_page_on_slideshow (LibraryPhotoPage* self) {
	LibraryPhoto* photo = NULL;
	Photo* _tmp0_ = NULL;
	LibraryPhoto* _tmp1_ = NULL;
	AppWindow* _tmp2_ = NULL;
	AppWindow* _tmp3_ = NULL;
	LibraryPhotoSourceCollection* _tmp4_ = NULL;
	ViewCollection* _tmp5_ = NULL;
	ViewCollection* _tmp6_ = NULL;
	LibraryPhoto* _tmp7_ = NULL;
	SlideshowPage* _tmp8_ = NULL;
	SlideshowPage* _tmp9_ = NULL;
#line 2865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2866 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2866 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 2867 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = photo;
#line 2867 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == NULL) {
#line 2868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo);
#line 2868 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 19434 "PhotoPage.c"
	}
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = app_window_get_instance ();
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = library_photo_global;
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = photo;
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = slideshow_page_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PHOTO, Photo));
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp8_);
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	app_window_go_fullscreen (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PAGE, Page));
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp9_);
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp6_);
#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 2865 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 19464 "PhotoPage.c"
}


static void library_photo_page_update_zoom_menu_item_sensitivity (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	ZoomState _tmp1_ = {0};
	gboolean _tmp2_ = FALSE;
	gboolean _tmp4_ = FALSE;
	ZoomState _tmp5_ = {0};
	gboolean _tmp6_ = FALSE;
#line 2874 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_);
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = zoom_state_is_max (&_tmp1_);
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp2_) {
#line 19483 "PhotoPage.c"
		gboolean _tmp3_ = FALSE;
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp3_;
#line 19489 "PhotoPage.c"
	} else {
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 19493 "PhotoPage.c"
	}
#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", _tmp0_);
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_);
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = zoom_state_is_default (&_tmp5_);
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp6_) {
#line 19503 "PhotoPage.c"
		gboolean _tmp7_ = FALSE;
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = !_tmp7_;
#line 19509 "PhotoPage.c"
	} else {
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = FALSE;
#line 19513 "PhotoPage.c"
	}
#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", _tmp4_);
#line 19517 "PhotoPage.c"
}


static void library_photo_page_real_on_increase_size (EditingHostPage* base) {
	LibraryPhotoPage * self;
#line 2879 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2880 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->on_increase_size (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2882 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_zoom_menu_item_sensitivity (self);
#line 19529 "PhotoPage.c"
}


static void library_photo_page_real_on_decrease_size (EditingHostPage* base) {
	LibraryPhotoPage * self;
#line 2885 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2886 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->on_decrease_size (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 2888 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_zoom_menu_item_sensitivity (self);
#line 19541 "PhotoPage.c"
}


static gboolean library_photo_page_real_on_zoom_slider_key_press (EditingHostPage* base, GdkEventKey* event) {
	LibraryPhotoPage * self;
	gboolean result = FALSE;
	GdkEventKey* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	GdkEventKey* _tmp2_ = NULL;
	guint _tmp3_ = 0U;
	const gchar* _tmp4_ = NULL;
#line 2891 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2891 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 2892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = event;
#line 2892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->on_zoom_slider_key_press (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp0_);
#line 2892 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 2893 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 2893 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 19567 "PhotoPage.c"
	}
#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = event;
#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_->keyval;
#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = gdk_keyval_name (_tmp3_);
#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (g_strcmp0 (_tmp4_, "Escape") == 0) {
#line 2896 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_photo_page_return_to_collection (self);
#line 2897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 2897 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 19583 "PhotoPage.c"
	} else {
#line 2899 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = FALSE;
#line 2899 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 19589 "PhotoPage.c"
	}
}


static void library_photo_page_real_update_ui (EditingHostPage* base, gboolean missing) {
	LibraryPhotoPage * self;
	gboolean sensitivity = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 2903 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2904 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = missing;
#line 2904 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	sensitivity = !_tmp0_;
#line 2906 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SendTo", sensitivity);
#line 2907 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", sensitivity);
#line 2908 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Print", sensitivity);
#line 2909 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonJumpToFile", sensitivity);
#line 2911 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonUndo", sensitivity);
#line 2912 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonRedo", sensitivity);
#line 2914 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", sensitivity);
#line 2915 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", sensitivity);
#line 2916 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ZoomFit", sensitivity);
#line 2917 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom100", sensitivity);
#line 2918 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom200", sensitivity);
#line 2919 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Slideshow", sensitivity);
#line 2921 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", sensitivity);
#line 2922 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", sensitivity);
#line 2923 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", sensitivity);
#line 2924 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", sensitivity);
#line 2925 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", sensitivity);
#line 2926 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Crop", sensitivity);
#line 2927 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RedEye", sensitivity);
#line 2928 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Adjust", sensitivity);
#line 2929 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditTitle", sensitivity);
#line 2930 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", sensitivity);
#line 2931 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", sensitivity);
#line 2932 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEditRAW", sensitivity);
#line 2933 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", sensitivity);
#line 2935 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Rate", sensitivity);
#line 2936 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag", sensitivity);
#line 2937 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AddTags", sensitivity);
#line 2938 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ModifyTags", sensitivity);
#line 2940 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", sensitivity);
#line 2942 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = missing;
#line 2942 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->update_ui (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp1_);
#line 19669 "PhotoPage.c"
}


static void library_photo_page_real_notify_photo_backing_missing (EditingHostPage* base, Photo* photo, gboolean missing) {
	LibraryPhotoPage * self;
	gboolean _tmp0_ = FALSE;
	Photo* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
#line 2945 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2945 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_PHOTO (photo));
#line 2946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = missing;
#line 2946 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 19686 "PhotoPage.c"
		Photo* _tmp1_ = NULL;
#line 2947 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = photo;
#line 2947 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_mark_offline (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource));
#line 19692 "PhotoPage.c"
	} else {
		Photo* _tmp2_ = NULL;
#line 2949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = photo;
#line 2949 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource));
#line 19699 "PhotoPage.c"
	}
#line 2951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = photo;
#line 2951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = missing;
#line 2951 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->notify_photo_backing_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp3_, _tmp4_);
#line 19707 "PhotoPage.c"
}


static gboolean library_photo_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) {
	LibraryPhotoPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean handled = FALSE;
	GdkEventKey* _tmp3_ = NULL;
	guint _tmp4_ = 0U;
	const gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	GQuark _tmp8_ = 0U;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label0 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label1 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label2 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label3 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label4 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label5 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label6 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label7 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label8 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label9 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label10 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label11 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label12 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label13 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label14 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label15 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label16 = 0;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	static GQuark _tmp7_label17 = 0;
#line 2954 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2954 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (GTK_WIDGET_CLASS (library_photo_page_parent_class)->key_press_event != NULL) {
#line 19763 "PhotoPage.c"
		GdkEventKey* _tmp1_ = NULL;
		gboolean _tmp2_ = FALSE;
#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = event;
#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = GTK_WIDGET_CLASS (library_photo_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), gtk_widget_get_type (), GtkWidget), _tmp1_);
#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_ == TRUE;
#line 19772 "PhotoPage.c"
	} else {
#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 19776 "PhotoPage.c"
	}
#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 2956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 2956 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 19784 "PhotoPage.c"
	}
#line 2958 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	handled = TRUE;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = event;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_->keyval;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = gdk_keyval_name (_tmp4_);
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = (NULL == _tmp6_) ? 0 : g_quark_from_string (_tmp6_);
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (((_tmp8_ == ((0 != _tmp7_label0) ? _tmp7_label0 : (_tmp7_label0 = g_quark_from_static_string ("Escape")))) || (_tmp8_ == ((0 != _tmp7_label1) ? _tmp7_label1 : (_tmp7_label1 = g_quark_from_static_string ("Return"))))) || (_tmp8_ == ((0 != _tmp7_label2) ? _tmp7_label2 : (_tmp7_label2 = g_quark_from_static_string ("KP_Enter"))))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19802 "PhotoPage.c"
			default:
			{
				GtkWindow* _tmp9_ = NULL;
				GtkWindow* _tmp10_ = NULL;
				gboolean _tmp11_ = FALSE;
#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp9_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp10_ = _tmp9_;
#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_tmp11_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_FULLSCREEN_WINDOW);
#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				_g_object_unref0 (_tmp10_);
#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				if (_tmp11_) {
#line 2964 "/home/jens/Source/shotwell/src/PhotoPage.vala"
					library_photo_page_return_to_collection (self);
#line 19820 "PhotoPage.c"
				}
#line 2965 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19824 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label3) ? _tmp7_label3 : (_tmp7_label3 = g_quark_from_static_string ("Delete")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19830 "PhotoPage.c"
			default:
			{
#line 2971 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "MoveToTrash");
#line 2972 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19837 "PhotoPage.c"
			}
		}
	} else if ((_tmp8_ == ((0 != _tmp7_label4) ? _tmp7_label4 : (_tmp7_label4 = g_quark_from_static_string ("period")))) || (_tmp8_ == ((0 != _tmp7_label5) ? _tmp7_label5 : (_tmp7_label5 = g_quark_from_static_string ("greater"))))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19843 "PhotoPage.c"
			default:
			{
#line 2976 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseRating");
#line 2977 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19850 "PhotoPage.c"
			}
		}
	} else if ((_tmp8_ == ((0 != _tmp7_label6) ? _tmp7_label6 : (_tmp7_label6 = g_quark_from_static_string ("comma")))) || (_tmp8_ == ((0 != _tmp7_label7) ? _tmp7_label7 : (_tmp7_label7 = g_quark_from_static_string ("less"))))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19856 "PhotoPage.c"
			default:
			{
#line 2981 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseRating");
#line 2982 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19863 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label8) ? _tmp7_label8 : (_tmp7_label8 = g_quark_from_static_string ("KP_1")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19869 "PhotoPage.c"
			default:
			{
#line 2985 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateOne");
#line 2986 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19876 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label9) ? _tmp7_label9 : (_tmp7_label9 = g_quark_from_static_string ("KP_2")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19882 "PhotoPage.c"
			default:
			{
#line 2989 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateTwo");
#line 2990 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19889 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label10) ? _tmp7_label10 : (_tmp7_label10 = g_quark_from_static_string ("KP_3")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19895 "PhotoPage.c"
			default:
			{
#line 2993 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateThree");
#line 2994 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19902 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label11) ? _tmp7_label11 : (_tmp7_label11 = g_quark_from_static_string ("KP_4")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19908 "PhotoPage.c"
			default:
			{
#line 2997 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFour");
#line 2998 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19915 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label12) ? _tmp7_label12 : (_tmp7_label12 = g_quark_from_static_string ("KP_5")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19921 "PhotoPage.c"
			default:
			{
#line 3001 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFive");
#line 3002 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19928 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label13) ? _tmp7_label13 : (_tmp7_label13 = g_quark_from_static_string ("KP_0")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19934 "PhotoPage.c"
			default:
			{
#line 3005 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateUnrated");
#line 3006 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19941 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label14) ? _tmp7_label14 : (_tmp7_label14 = g_quark_from_static_string ("KP_9")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19947 "PhotoPage.c"
			default:
			{
#line 3009 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateRejected");
#line 3010 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19954 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label15) ? _tmp7_label15 : (_tmp7_label15 = g_quark_from_static_string ("bracketright")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19960 "PhotoPage.c"
			default:
			{
#line 3013 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise");
#line 3014 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19967 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label16) ? _tmp7_label16 : (_tmp7_label16 = g_quark_from_static_string ("bracketleft")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19973 "PhotoPage.c"
			default:
			{
#line 3017 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise");
#line 3018 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19980 "PhotoPage.c"
			}
		}
	} else if (_tmp8_ == ((0 != _tmp7_label17) ? _tmp7_label17 : (_tmp7_label17 = g_quark_from_static_string ("slash")))) {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19986 "PhotoPage.c"
			default:
			{
#line 3021 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag");
#line 3022 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 19993 "PhotoPage.c"
			}
		}
	} else {
#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (0) {
#line 19999 "PhotoPage.c"
			default:
			{
#line 3025 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				handled = FALSE;
#line 3026 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 20006 "PhotoPage.c"
			}
		}
	}
#line 3029 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = handled;
#line 3029 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 20014 "PhotoPage.c"
}


static gboolean library_photo_page_real_on_double_click (EditingHostPage* base, GdkEventButton* event) {
	LibraryPhotoPage * self;
	gboolean result = FALSE;
	FullscreenWindow* fs = NULL;
	GtkWindow* _tmp0_ = NULL;
	FullscreenWindow* _tmp1_ = NULL;
	FullscreenWindow* _tmp2_ = NULL;
#line 3032 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 3032 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FULLSCREEN_WINDOW) ? ((FullscreenWindow*) _tmp0_) : NULL;
#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == NULL) {
#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp0_);
#line 20037 "PhotoPage.c"
	}
#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	fs = _tmp1_;
#line 3034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = fs;
#line 3034 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp2_ == NULL) {
#line 3035 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->return_to_collection_on_release = TRUE;
#line 20047 "PhotoPage.c"
	} else {
		FullscreenWindow* _tmp3_ = NULL;
#line 3037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = fs;
#line 3037 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		fullscreen_window_close (_tmp3_);
#line 20054 "PhotoPage.c"
	}
#line 3039 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 3039 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (fs);
#line 3039 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 20062 "PhotoPage.c"
}


static gboolean library_photo_page_real_on_left_released (Page* base, GdkEventButton* event) {
	LibraryPhotoPage * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	GdkEventButton* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 3042 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 3042 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 3043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->return_to_collection_on_release;
#line 3043 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 3044 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		self->priv->return_to_collection_on_release = FALSE;
#line 3045 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_photo_page_return_to_collection (self);
#line 3047 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		result = TRUE;
#line 3047 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return result;
#line 20088 "PhotoPage.c"
	}
#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = event;
#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = PAGE_CLASS (library_photo_page_parent_class)->on_left_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp1_);
#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp2_;
#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 20098 "PhotoPage.c"
}


static GtkMenu* library_photo_page_get_context_menu (LibraryPhotoPage* self) {
	GtkMenu* result = NULL;
	GtkMenu* menu = NULL;
	GtkUIManager* _tmp0_ = NULL;
	GtkWidget* _tmp1_ = NULL;
	GtkMenu* _tmp2_ = NULL;
#line 3053 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_LIBRARY_PHOTO_PAGE (self), NULL);
#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui;
#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = gtk_ui_manager_get_widget (_tmp0_, "/PhotoContextMenu");
#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_menu_get_type (), GtkMenu));
#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	menu = _tmp2_;
#line 3055 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_vala_assert (menu != NULL, "menu != null");
#line 3056 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = menu;
#line 3056 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 20124 "PhotoPage.c"
}


static gboolean library_photo_page_real_on_context_buttonpress (Page* base, GdkEventButton* event) {
	LibraryPhotoPage * self;
	gboolean result = FALSE;
	GtkMenu* _tmp0_ = NULL;
	GtkMenu* _tmp1_ = NULL;
	GdkEventButton* _tmp2_ = NULL;
#line 3059 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 3059 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = library_photo_page_get_context_menu (self);
#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = event;
#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp1_, _tmp2_);
#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 3062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 3062 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 20152 "PhotoPage.c"
}


static gboolean library_photo_page_real_on_context_keypress (Page* base) {
	LibraryPhotoPage * self;
	gboolean result = FALSE;
	GtkMenu* _tmp0_ = NULL;
	GtkMenu* _tmp1_ = NULL;
#line 3065 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = library_photo_page_get_context_menu (self);
#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp1_, NULL);
#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 3068 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = TRUE;
#line 3068 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 20175 "PhotoPage.c"
}


static void library_photo_page_return_to_collection (LibraryPhotoPage* self) {
	CollectionPage* _tmp0_ = NULL;
#line 3071 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = self->priv->return_page;
#line 3073 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (NULL != _tmp0_) {
#line 20187 "PhotoPage.c"
		LibraryWindow* _tmp1_ = NULL;
		LibraryWindow* _tmp2_ = NULL;
		CollectionPage* _tmp3_ = NULL;
#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = library_window_get_app ();
#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = _tmp1_;
#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = self->priv->return_page;
#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_window_switch_to_page (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PAGE, Page));
#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp2_);
#line 20201 "PhotoPage.c"
	} else {
		LibraryWindow* _tmp4_ = NULL;
		LibraryWindow* _tmp5_ = NULL;
#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = library_window_get_app ();
#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp4_;
#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_window_switch_to_library_page (_tmp5_);
#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp5_);
#line 20213 "PhotoPage.c"
	}
}


static void library_photo_page_on_remove_from_library (LibraryPhotoPage* self) {
	LibraryPhoto* photo = NULL;
	Photo* _tmp0_ = NULL;
	GeeCollection* photos = NULL;
	GeeArrayList* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
#line 3079 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3080 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 3082 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
#line 3082 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection);
#line 3083 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_collection_add (photos, photo);
#line 3085 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _ ("Remove From Library");
#line 3085 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _ ("Removing Photo From Library");
#line 3085 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	remove_from_app (photos, _tmp2_, _tmp3_);
#line 3079 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photos);
#line 3079 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 20247 "PhotoPage.c"
}


static void library_photo_page_on_move_to_trash (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	CollectionPage* _tmp1_ = NULL;
	LibraryPhoto* photo = NULL;
	Photo* _tmp4_ = NULL;
	GeeCollection* photos = NULL;
	GeeArrayList* _tmp5_ = NULL;
	GeeCollection* _tmp6_ = NULL;
	LibraryPhoto* _tmp7_ = NULL;
	LibraryPhoto* _tmp8_ = NULL;
	Photo* _tmp9_ = NULL;
	Photo* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	gboolean _tmp12_ = FALSE;
	CommandManager* _tmp22_ = NULL;
	CommandManager* _tmp23_ = NULL;
	GeeCollection* _tmp24_ = NULL;
	TrashUntrashPhotosCommand* _tmp25_ = NULL;
	TrashUntrashPhotosCommand* _tmp26_ = NULL;
	LibraryWindow* _tmp27_ = NULL;
	LibraryWindow* _tmp28_ = NULL;
#line 3088 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3089 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3089 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp0_) {
#line 3090 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20280 "PhotoPage.c"
	}
#line 3097 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = self->priv->return_page;
#line 3097 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_EVENT_PAGE)) {
#line 20286 "PhotoPage.c"
		LibraryWindow* _tmp2_ = NULL;
		LibraryWindow* _tmp3_ = NULL;
#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = library_window_get_app ();
#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp2_;
#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_window_set_page_switching_enabled (_tmp3_, FALSE);
#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 20297 "PhotoPage.c"
	}
#line 3101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3101 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 3103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
#line 3103 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection);
#line 3104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = photos;
#line 3104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = photo;
#line 3104 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	gee_collection_add (_tmp6_, _tmp7_);
#line 3107 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_on_next_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = photo;
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource));
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp10_);
#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp12_) {
#line 20329 "PhotoPage.c"
		LibraryWindow* _tmp13_ = NULL;
		LibraryWindow* _tmp14_ = NULL;
		GtkWindow* _tmp15_ = NULL;
		GtkWindow* _tmp16_ = NULL;
		gboolean _tmp17_ = FALSE;
		LibraryWindow* _tmp20_ = NULL;
		LibraryWindow* _tmp21_ = NULL;
#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = library_window_get_app ();
#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_;
#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_window_set_page_switching_enabled (_tmp14_, TRUE);
#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp14_);
#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = _tmp15_;
#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_FULLSCREEN_WINDOW);
#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp16_);
#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp17_) {
#line 20355 "PhotoPage.c"
			GtkWindow* _tmp18_ = NULL;
			FullscreenWindow* _tmp19_ = NULL;
#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp18_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_FULLSCREEN_WINDOW, FullscreenWindow);
#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			fullscreen_window_close (_tmp19_);
#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp19_);
#line 20366 "PhotoPage.c"
		}
#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = library_window_get_app ();
#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = _tmp20_;
#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_window_switch_to_library_page (_tmp21_);
#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp21_);
#line 20376 "PhotoPage.c"
	}
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = _tmp22_;
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = photos;
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = trash_untrash_photos_command_new (_tmp24_, TRUE);
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = _tmp25_;
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_COMMAND, Command));
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp26_);
#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp23_);
#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = library_window_get_app ();
#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = _tmp27_;
#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_window_set_page_switching_enabled (_tmp28_, TRUE);
#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp28_);
#line 3088 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photos);
#line 3088 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 20406 "PhotoPage.c"
}


static void library_photo_page_on_flag_unflag (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
#line 3126 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3127 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3127 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 20418 "PhotoPage.c"
		GeeArrayList* photo_list = NULL;
		GeeArrayList* _tmp1_ = NULL;
		GeeArrayList* _tmp2_ = NULL;
		Photo* _tmp3_ = NULL;
		Photo* _tmp4_ = NULL;
		CommandManager* _tmp5_ = NULL;
		CommandManager* _tmp6_ = NULL;
		GeeArrayList* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		LibraryPhoto* _tmp9_ = NULL;
		gboolean _tmp10_ = FALSE;
		FlagUnflagCommand* _tmp11_ = NULL;
		FlagUnflagCommand* _tmp12_ = NULL;
#line 3128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
#line 3128 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		photo_list = _tmp1_;
#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = photo_list;
#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource));
#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = photo_list;
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_FLAGGABLE, Flaggable));
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = flag_unflag_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), !_tmp10_);
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command));
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp12_);
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp9_);
#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_command_manager_unref0 (_tmp6_);
#line 3127 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo_list);
#line 20472 "PhotoPage.c"
	}
}


static void library_photo_page_on_photo_destroyed (LibraryPhotoPage* self, DataSource* source) {
	DataSource* _tmp0_ = NULL;
#line 3135 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3135 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_DATA_SOURCE (source));
#line 3136 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = source;
#line 3136 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_photo_removed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto));
#line 20487 "PhotoPage.c"
}


static void library_photo_page_on_photo_removed (LibraryPhotoPage* self, LibraryPhoto* photo) {
	gboolean _tmp0_ = FALSE;
	LibraryPhoto* _tmp1_ = NULL;
	ViewCollection* view = NULL;
	ViewCollection* _tmp6_ = NULL;
	ViewCollection* _tmp7_ = NULL;
	ViewCollection* _tmp8_ = NULL;
	ViewCollection* _tmp9_ = NULL;
	LibraryPhoto* _tmp10_ = NULL;
	DataView* _tmp11_ = NULL;
	DataView* _tmp12_ = NULL;
	Marker* _tmp13_ = NULL;
	Marker* _tmp14_ = NULL;
	LibraryPhoto* _tmp15_ = NULL;
	Photo* _tmp16_ = NULL;
	Photo* _tmp17_ = NULL;
	gboolean _tmp18_ = FALSE;
	gboolean _tmp19_ = FALSE;
#line 3139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO (photo));
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = photo;
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_ == NULL) {
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 20519 "PhotoPage.c"
	} else {
		LibraryPhoto* _tmp2_ = NULL;
		Photo* _tmp3_ = NULL;
		Photo* _tmp4_ = NULL;
		gboolean _tmp5_ = FALSE;
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = photo;
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource));
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = !_tmp5_;
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 20537 "PhotoPage.c"
	}
#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 3142 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20543 "PhotoPage.c"
	}
#line 3145 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	single_photo_page_on_next_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage));
#line 3147 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3147 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	view = _tmp6_;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = view;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = view;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = view;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = photo;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = view_collection_get_view_for_source (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource));
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject));
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), _tmp14_);
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp14_);
#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp12_);
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = photo;
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = _tmp16_;
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource));
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = _tmp18_;
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp17_);
#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp19_) {
#line 20587 "PhotoPage.c"
		LibraryWindow* _tmp20_ = NULL;
		LibraryWindow* _tmp21_ = NULL;
#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = library_window_get_app ();
#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = _tmp20_;
#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		library_window_switch_to_library_page (_tmp21_);
#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp21_);
#line 20598 "PhotoPage.c"
	}
#line 3139 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (view);
#line 20602 "PhotoPage.c"
}


static void library_photo_page_on_print (LibraryPhotoPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
#line 3156 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_selected_count (_tmp1_);
#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_ > 0;
#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_) {
#line 20625 "PhotoPage.c"
		PrintManager* _tmp4_ = NULL;
		PrintManager* _tmp5_ = NULL;
		ViewCollection* _tmp6_ = NULL;
		ViewCollection* _tmp7_ = NULL;
		GeeList* _tmp8_ = NULL;
		GeeCollection* _tmp9_ = NULL;
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = print_manager_get_instance ();
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp4_;
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp6_;
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = view_collection_get_selected_sources_of_type (_tmp7_, TYPE_PHOTO);
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection);
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		print_manager_spool_photo (_tmp5_, _tmp9_);
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp9_);
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp7_);
#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_print_manager_unref0 (_tmp5_);
#line 20652 "PhotoPage.c"
	}
}


static void library_photo_page_on_external_app_changed (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 3163 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp1_) {
#line 20666 "PhotoPage.c"
		ConfigFacade* _tmp2_ = NULL;
		ConfigFacade* _tmp3_ = NULL;
		gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = config_facade_get_instance ();
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = _tmp2_;
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp4_;
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = g_strcmp0 (_tmp5_, "") != 0;
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp5_);
#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp3_);
#line 20685 "PhotoPage.c"
	} else {
#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 20689 "PhotoPage.c"
	}
#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp0_);
#line 20693 "PhotoPage.c"
}


static void library_photo_page_on_external_edit (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	GError * _inner_error_ = NULL;
#line 3168 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3169 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp0_) {
#line 3170 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20708 "PhotoPage.c"
	}
	{
		AppWindow* _tmp1_ = NULL;
		AppWindow* _tmp2_ = NULL;
		Photo* _tmp3_ = NULL;
		Photo* _tmp4_ = NULL;
		AppWindow* _tmp5_ = NULL;
		AppWindow* _tmp6_ = NULL;
#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = app_window_get_instance ();
#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = _tmp1_;
#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PAGE_WINDOW, PageWindow));
#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp2_);
#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = _tmp3_;
#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		photo_open_with_external_editor (_tmp4_, &_inner_error_);
#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 20735 "PhotoPage.c"
			goto __catch238_g_error;
		}
#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = app_window_get_instance ();
#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE_WINDOW, PageWindow));
#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp6_);
#line 20746 "PhotoPage.c"
	}
	goto __finally238;
	__catch238_g_error:
	{
		GError* err = NULL;
		AppWindow* _tmp7_ = NULL;
		AppWindow* _tmp8_ = NULL;
		GError* _tmp9_ = NULL;
		Photo* _tmp10_ = NULL;
		Photo* _tmp11_ = NULL;
#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = app_window_get_instance ();
#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE_WINDOW, PageWindow));
#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = err;
#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = _tmp10_;
#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		open_external_editor_error_dialog (_tmp9_, _tmp11_);
#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp11_);
#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 20781 "PhotoPage.c"
	}
	__finally238:
#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.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 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20792 "PhotoPage.c"
	}
}


static void library_photo_page_on_external_edit_raw (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	Photo* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	PhotoFileFormat _tmp3_ = 0;
	gboolean _tmp4_ = FALSE;
	GError * _inner_error_ = NULL;
#line 3183 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3184 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3184 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp0_) {
#line 3185 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20812 "PhotoPage.c"
	}
#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = _tmp1_;
#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = photo_get_master_file_format (_tmp2_);
#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_ != PHOTO_FILE_FORMAT_RAW;
#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_) {
#line 3188 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20828 "PhotoPage.c"
	}
	{
		AppWindow* _tmp5_ = NULL;
		AppWindow* _tmp6_ = NULL;
		Photo* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		AppWindow* _tmp9_ = NULL;
		AppWindow* _tmp10_ = NULL;
#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = app_window_get_instance ();
#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE_WINDOW, PageWindow));
#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp6_);
#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		photo_open_with_raw_external_editor (_tmp8_, &_inner_error_);
#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 20855 "PhotoPage.c"
			goto __catch239_g_error;
		}
#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = app_window_get_instance ();
#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = _tmp9_;
#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PAGE_WINDOW, PageWindow));
#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp10_);
#line 20866 "PhotoPage.c"
	}
	goto __finally239;
	__catch239_g_error:
	{
		GError* err = NULL;
		AppWindow* _tmp11_ = NULL;
		AppWindow* _tmp12_ = NULL;
		GError* _tmp13_ = NULL;
		gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = app_window_get_instance ();
#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PAGE_WINDOW, PageWindow));
#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp12_);
#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = err;
#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = resources_launch_editor_failed (_tmp13_);
#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = _tmp14_;
#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		app_window_error_message (_tmp15_, NULL);
#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp15_);
#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 20901 "PhotoPage.c"
	}
	__finally239:
#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.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 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20912 "PhotoPage.c"
	}
}


static void library_photo_page_on_send_to (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
#line 3200 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3201 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3201 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 20925 "PhotoPage.c"
		ViewCollection* _tmp1_ = NULL;
		ViewCollection* _tmp2_ = NULL;
		GeeList* _tmp3_ = NULL;
		GeeCollection* _tmp4_ = NULL;
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = _tmp1_;
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp3_ = view_collection_get_selected_sources (_tmp2_);
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection);
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		desktop_integration_send_to (_tmp4_);
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp4_);
#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp2_);
#line 20944 "PhotoPage.c"
	}
}


static void library_photo_page_on_export (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	ExportDialog* export_dialog = NULL;
	const gchar* _tmp1_ = NULL;
	ExportDialog* _tmp2_ = NULL;
	gint scale = 0;
	ScaleConstraint constraint = 0;
	ExportFormatParameters export_params = {0};
	ExportFormatParameters _tmp3_ = {0};
	ExportDialog* _tmp4_ = NULL;
	gint _tmp5_ = 0;
	ScaleConstraint _tmp6_ = 0;
	gboolean _tmp7_ = FALSE;
	GFile* save_as = NULL;
	Photo* _tmp8_ = NULL;
	Photo* _tmp9_ = NULL;
	ExportFormatParameters _tmp10_ = {0};
	gchar* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	GFile* _tmp13_ = NULL;
	GFile* _tmp14_ = NULL;
	GFile* _tmp15_ = NULL;
	Scaling scaling = {0};
	ScaleConstraint _tmp16_ = 0;
	gint _tmp17_ = 0;
	Scaling _tmp18_ = {0};
	GError * _inner_error_ = NULL;
#line 3205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3206 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp0_) {
#line 3207 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 20984 "PhotoPage.c"
	}
#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _ ("Export Photo");
#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = export_dialog_new (_tmp1_);
#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_object_ref_sink (_tmp2_);
#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	export_dialog = _tmp2_;
#line 3213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	export_format_parameters_last (&_tmp3_);
#line 3213 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	export_params = _tmp3_;
#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = export_dialog;
#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = export_dialog_execute (_tmp4_, &_tmp5_, &_tmp6_, &export_params);
#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scale = _tmp5_;
#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	constraint = _tmp6_;
#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp7_) {
#line 3215 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (export_dialog);
#line 3215 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21012 "PhotoPage.c"
	}
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = export_params;
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = photo_get_export_basename_for_parameters (_tmp9_, &_tmp10_);
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = export_ui_choose_file (_tmp12_);
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = _tmp13_;
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_free0 (_tmp12_);
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp9_);
#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	save_as = _tmp14_;
#line 3219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = save_as;
#line 3219 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp15_ == NULL) {
#line 3220 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (save_as);
#line 3220 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (export_dialog);
#line 3220 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21044 "PhotoPage.c"
	}
#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = constraint;
#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = scale;
#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scaling_for_constraint (_tmp16_, _tmp17_, FALSE, &_tmp18_);
#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	scaling = _tmp18_;
#line 21054 "PhotoPage.c"
	{
		Photo* _tmp19_ = NULL;
		Photo* _tmp20_ = NULL;
		GFile* _tmp21_ = NULL;
		Scaling _tmp22_ = {0};
		ExportFormatParameters _tmp23_ = {0};
		JpegQuality _tmp24_ = 0;
		Photo* _tmp25_ = NULL;
		Photo* _tmp26_ = NULL;
		ExportFormatParameters _tmp27_ = {0};
		PhotoFileFormat _tmp28_ = 0;
		ExportFormatParameters _tmp29_ = {0};
		ExportFormatMode _tmp30_ = 0;
		ExportFormatParameters _tmp31_ = {0};
		gboolean _tmp32_ = FALSE;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp19_;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp21_ = save_as;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp22_ = scaling;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp23_ = export_params;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp24_ = _tmp23_.quality;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp25_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp26_ = _tmp25_;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp27_ = export_params;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp28_ = photo_get_export_format_for_parameters (_tmp26_, &_tmp27_);
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp29_ = export_params;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp30_ = _tmp29_.mode;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp31_ = export_params;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp32_ = _tmp31_.export_metadata;
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		photo_export (_tmp20_, _tmp21_, &_tmp22_, _tmp24_, _tmp28_, _tmp30_ == EXPORT_FORMAT_MODE_UNMODIFIED, _tmp32_, &_inner_error_);
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp26_);
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp20_);
#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 21106 "PhotoPage.c"
			goto __catch240_g_error;
		}
	}
	goto __finally240;
	__catch240_g_error:
	{
		GError* err = NULL;
		const gchar* _tmp33_ = NULL;
		GFile* _tmp34_ = NULL;
		gchar* _tmp35_ = NULL;
		gchar* _tmp36_ = NULL;
		GError* _tmp37_ = NULL;
		const gchar* _tmp38_ = NULL;
		gchar* _tmp39_ = NULL;
		gchar* _tmp40_ = NULL;
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		err = _inner_error_;
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_inner_error_ = NULL;
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp33_ = _ ("Unable to export %s: %s");
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp34_ = save_as;
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp35_ = g_file_get_path (_tmp34_);
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp36_ = _tmp35_;
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp37_ = err;
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp38_ = _tmp37_->message;
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp39_ = g_strdup_printf (_tmp33_, _tmp36_, _tmp38_);
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp40_ = _tmp39_;
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		app_window_error_message (_tmp40_, NULL);
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp40_);
#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_free0 (_tmp36_);
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_error_free0 (err);
#line 21150 "PhotoPage.c"
	}
	__finally240:
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (save_as);
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (export_dialog);
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.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 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		g_clear_error (&_inner_error_);
#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21165 "PhotoPage.c"
	}
#line 3205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (save_as);
#line 3205 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (export_dialog);
#line 21171 "PhotoPage.c"
}


static void library_photo_page_on_publish (LibraryPhotoPage* self) {
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
#line 3233 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection));
#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_ > 0;
#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp3_) {
#line 21194 "PhotoPage.c"
		ViewCollection* _tmp4_ = NULL;
		ViewCollection* _tmp5_ = NULL;
		GeeList* _tmp6_ = NULL;
		GeeCollection* _tmp7_ = NULL;
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = _tmp4_;
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = view_collection_get_selected_sources (_tmp5_);
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection);
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		publishing_ui_publishing_dialog_go (_tmp7_);
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp7_);
#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp5_);
#line 21213 "PhotoPage.c"
	}
}


static void library_photo_page_on_view_menu (LibraryPhotoPage* self) {
#line 3239 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3240 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_zoom_menu_item_sensitivity (self);
#line 21223 "PhotoPage.c"
}


static void library_photo_page_on_increase_rating (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	SetRatingSingleCommand* command = NULL;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	SetRatingSingleCommand* _tmp5_ = NULL;
	SetRatingSingleCommand* _tmp6_ = NULL;
	CommandManager* _tmp7_ = NULL;
	CommandManager* _tmp8_ = NULL;
	SetRatingSingleCommand* _tmp9_ = NULL;
#line 3243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 21246 "PhotoPage.c"
	} else {
		gboolean _tmp2_ = FALSE;
#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_;
#line 21253 "PhotoPage.c"
	}
#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 3245 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21259 "PhotoPage.c"
	}
#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = set_rating_single_command_new_inc_dec (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), TRUE);
#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp4_);
#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp6_;
#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = command;
#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_COMMAND, Command));
#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp8_);
#line 3250 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_rating_menu_item_sensitivity (self);
#line 3243 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 21287 "PhotoPage.c"
}


static void library_photo_page_on_decrease_rating (LibraryPhotoPage* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	SetRatingSingleCommand* command = NULL;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	SetRatingSingleCommand* _tmp5_ = NULL;
	SetRatingSingleCommand* _tmp6_ = NULL;
	CommandManager* _tmp7_ = NULL;
	CommandManager* _tmp8_ = NULL;
	SetRatingSingleCommand* _tmp9_ = NULL;
#line 3253 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 21310 "PhotoPage.c"
	} else {
		gboolean _tmp2_ = FALSE;
#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_;
#line 21317 "PhotoPage.c"
	}
#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 3255 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21323 "PhotoPage.c"
	}
#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = set_rating_single_command_new_inc_dec (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), FALSE);
#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = _tmp5_;
#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp4_);
#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp6_;
#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = _tmp7_;
#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = command;
#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_COMMAND, Command));
#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp8_);
#line 3260 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_rating_menu_item_sensitivity (self);
#line 3253 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 21351 "PhotoPage.c"
}


static void library_photo_page_on_set_rating (LibraryPhotoPage* self, Rating rating) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	SetRatingSingleCommand* command = NULL;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	Rating _tmp5_ = 0;
	SetRatingSingleCommand* _tmp6_ = NULL;
	SetRatingSingleCommand* _tmp7_ = NULL;
	CommandManager* _tmp8_ = NULL;
	CommandManager* _tmp9_ = NULL;
	SetRatingSingleCommand* _tmp10_ = NULL;
#line 3263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (!_tmp1_) {
#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = TRUE;
#line 21375 "PhotoPage.c"
	} else {
		gboolean _tmp2_ = FALSE;
#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp2_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp2_;
#line 21382 "PhotoPage.c"
	}
#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 3265 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21388 "PhotoPage.c"
	}
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = rating;
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = set_rating_single_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), _tmp5_);
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp4_);
#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command = _tmp7_;
#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = _tmp8_;
#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = command;
#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_COMMAND, Command));
#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp9_);
#line 3270 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_update_rating_menu_item_sensitivity (self);
#line 3263 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (command);
#line 21418 "PhotoPage.c"
}


static void library_photo_page_on_rate_rejected (LibraryPhotoPage* self) {
#line 3273 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3274 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_REJECTED);
#line 21427 "PhotoPage.c"
}


static void library_photo_page_on_rate_unrated (LibraryPhotoPage* self) {
#line 3277 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3278 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_UNRATED);
#line 21436 "PhotoPage.c"
}


static void library_photo_page_on_rate_one (LibraryPhotoPage* self) {
#line 3281 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3282 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_ONE);
#line 21445 "PhotoPage.c"
}


static void library_photo_page_on_rate_two (LibraryPhotoPage* self) {
#line 3285 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3286 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_TWO);
#line 21454 "PhotoPage.c"
}


static void library_photo_page_on_rate_three (LibraryPhotoPage* self) {
#line 3289 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3290 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_THREE);
#line 21463 "PhotoPage.c"
}


static void library_photo_page_on_rate_four (LibraryPhotoPage* self) {
#line 3293 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3294 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_FOUR);
#line 21472 "PhotoPage.c"
}


static void library_photo_page_on_rate_five (LibraryPhotoPage* self) {
#line 3297 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3298 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_on_set_rating (self, RATING_FIVE);
#line 21481 "PhotoPage.c"
}


static void library_photo_page_update_rating_menu_item_sensitivity (LibraryPhotoPage* self) {
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	Rating _tmp2_ = 0;
	Photo* _tmp3_ = NULL;
	Photo* _tmp4_ = NULL;
	Rating _tmp5_ = 0;
	Photo* _tmp6_ = NULL;
	Photo* _tmp7_ = NULL;
	Rating _tmp8_ = 0;
	Photo* _tmp9_ = NULL;
	Photo* _tmp10_ = NULL;
	Rating _tmp11_ = 0;
	Photo* _tmp12_ = NULL;
	Photo* _tmp13_ = NULL;
	Rating _tmp14_ = 0;
	Photo* _tmp15_ = NULL;
	Photo* _tmp16_ = NULL;
	Rating _tmp17_ = 0;
	Photo* _tmp18_ = NULL;
	Photo* _tmp19_ = NULL;
	Rating _tmp20_ = 0;
	Photo* _tmp21_ = NULL;
	Photo* _tmp22_ = NULL;
	Rating _tmp23_ = 0;
	gboolean _tmp24_ = FALSE;
	Photo* _tmp25_ = NULL;
	Photo* _tmp26_ = NULL;
	Rating _tmp27_ = 0;
	gboolean _tmp28_ = FALSE;
#line 3301 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateRejected", _tmp2_ != RATING_REJECTED);
#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = _tmp3_;
#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateUnrated", _tmp5_ != RATING_UNRATED);
#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp4_);
#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = _tmp6_;
#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateOne", _tmp8_ != RATING_ONE);
#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp7_);
#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = _tmp9_;
#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateTwo", _tmp11_ != RATING_TWO);
#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp10_);
#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = _tmp12_;
#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateThree", _tmp14_ != RATING_THREE);
#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp13_);
#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = _tmp15_;
#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp17_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFour", _tmp17_ != RATING_FOUR);
#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp16_);
#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp18_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp19_ = _tmp18_;
#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp20_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFive", _tmp20_ != RATING_FIVE);
#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp19_);
#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp21_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp22_ = _tmp21_;
#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp23_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp24_ = rating_can_increase (_tmp23_);
#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseRating", _tmp24_);
#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp22_);
#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp25_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp26_ = _tmp25_;
#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp27_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp28_ = rating_can_decrease (_tmp27_);
#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseRating", _tmp28_);
#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp26_);
#line 21611 "PhotoPage.c"
}


static void library_photo_page_update_development_menu_item_sensitivity (LibraryPhotoPage* self) {
	PhotoFileFormat format = 0;
	Photo* _tmp0_ = NULL;
	Photo* _tmp1_ = NULL;
	PhotoFileFormat _tmp2_ = 0;
	PhotoFileFormat _tmp3_ = 0;
	PhotoFileFormat _tmp4_ = 0;
	PhotoFileFormat _tmp5_ = 0;
#line 3313 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = photo_get_master_file_format (_tmp1_);
#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp1_);
#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	format = _tmp3_;
#line 3315 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = format;
#line 3315 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloper", _tmp4_ == PHOTO_FILE_FORMAT_RAW);
#line 3317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = format;
#line 3317 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_ == PHOTO_FILE_FORMAT_RAW) {
#line 21645 "PhotoPage.c"
		Photo* _tmp6_ = NULL;
		Photo* _tmp7_ = NULL;
		gboolean _tmp8_ = FALSE;
		gboolean _tmp9_ = FALSE;
		Photo* _tmp10_ = NULL;
		Photo* _tmp11_ = NULL;
		gboolean _tmp12_ = FALSE;
		gboolean _tmp13_ = FALSE;
		Photo* _tmp17_ = NULL;
		Photo* _tmp18_ = NULL;
		RawDeveloper _tmp19_ = 0;
		RawDeveloper _tmp20_ = 0;
#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = _tmp6_;
#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = photo_is_raw_developer_available (_tmp7_, RAW_DEVELOPER_SHOTWELL);
#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperShotwell", _tmp8_);
#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp7_);
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = _tmp10_;
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = photo_is_raw_developer_available (_tmp11_, RAW_DEVELOPER_EMBEDDED);
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = _tmp12_;
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp11_);
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		if (_tmp13_) {
#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = TRUE;
#line 21682 "PhotoPage.c"
		} else {
			Photo* _tmp14_ = NULL;
			Photo* _tmp15_ = NULL;
			gboolean _tmp16_ = FALSE;
#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp14_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp15_ = _tmp14_;
#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp16_ = photo_is_raw_developer_available (_tmp15_, RAW_DEVELOPER_CAMERA);
#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_tmp9_ = _tmp16_;
#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			_g_object_unref0 (_tmp15_);
#line 21697 "PhotoPage.c"
		}
#line 3321 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperCamera", _tmp9_);
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = _tmp17_;
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp19_ = photo_get_raw_developer (_tmp18_);
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp20_ = _tmp19_;
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp18_);
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		switch (_tmp20_) {
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			case RAW_DEVELOPER_SHOTWELL:
#line 21715 "PhotoPage.c"
			{
#line 3328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperShotwell");
#line 3329 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 21721 "PhotoPage.c"
			}
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			case RAW_DEVELOPER_CAMERA:
#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
			case RAW_DEVELOPER_EMBEDDED:
#line 21727 "PhotoPage.c"
			{
#line 3333 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperCamera");
#line 3334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				break;
#line 21733 "PhotoPage.c"
			}
			default:
			{
#line 3337 "/home/jens/Source/shotwell/src/PhotoPage.vala"
				g_assert_not_reached ();
#line 21739 "PhotoPage.c"
			}
		}
	}
}


static void library_photo_page_on_metadata_altered (LibraryPhotoPage* self, GeeMap* map) {
	gboolean _tmp0_ = FALSE;
	GeeMap* _tmp1_ = NULL;
	Photo* _tmp2_ = NULL;
	Photo* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
#line 3342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3342 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (GEE_IS_MAP (map));
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = map;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = gee_map_has_key (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject));
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp5_) {
#line 21771 "PhotoPage.c"
		GeeMap* _tmp6_ = NULL;
		Photo* _tmp7_ = NULL;
		Photo* _tmp8_ = NULL;
		gpointer _tmp9_ = NULL;
		Alteration* _tmp10_ = NULL;
		gboolean _tmp11_ = FALSE;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = map;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage));
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = gee_map_get (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject));
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp10_ = (Alteration*) _tmp9_;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = alteration_has_subject (_tmp10_, "metadata");
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = _tmp11_;
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_alteration_unref0 (_tmp10_);
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp8_);
#line 21796 "PhotoPage.c"
	} else {
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp0_ = FALSE;
#line 21800 "PhotoPage.c"
	}
#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp0_) {
#line 3344 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL);
#line 21806 "PhotoPage.c"
	}
}


static void library_photo_page_on_add_tags (LibraryPhotoPage* self) {
	AddTagsDialog* dialog = NULL;
	AddTagsDialog* _tmp0_ = NULL;
	gchar** names = NULL;
	AddTagsDialog* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gchar** _tmp3_ = NULL;
	gint names_length1 = 0;
	gint _names_size_ = 0;
	gchar** _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
#line 3347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = add_tags_dialog_new ();
#line 3348 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dialog = _tmp0_;
#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = dialog;
#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = add_tags_dialog_execute (_tmp1_, &_tmp2_);
#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	names = _tmp3_;
#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	names_length1 = _tmp2_;
#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_names_size_ = names_length1;
#line 3350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = names;
#line 3350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4__length1 = names_length1;
#line 3350 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp4_ != NULL) {
#line 21844 "PhotoPage.c"
		CommandManager* _tmp5_ = NULL;
		CommandManager* _tmp6_ = NULL;
		HierarchicalTagIndex* _tmp7_ = NULL;
		HierarchicalTagIndex* _tmp8_ = NULL;
		gchar** _tmp9_ = NULL;
		gint _tmp9__length1 = 0;
		gint _tmp10_ = 0;
		gchar** _tmp11_ = NULL;
		gchar** _tmp12_ = NULL;
		gint _tmp12__length1 = 0;
		ViewCollection* _tmp13_ = NULL;
		ViewCollection* _tmp14_ = NULL;
		GeeList* _tmp15_ = NULL;
		GeeCollection* _tmp16_ = NULL;
		AddTagsCommand* _tmp17_ = NULL;
		AddTagsCommand* _tmp18_ = NULL;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp5_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp6_ = _tmp5_;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp7_ = hierarchical_tag_index_get_global_index ();
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp8_ = _tmp7_;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9_ = names;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp9__length1 = names_length1;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp11_ = hierarchical_tag_index_get_paths_for_names_array (_tmp8_, _tmp9_, _tmp9__length1, &_tmp10_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = _tmp11_;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12__length1 = _tmp10_;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp14_ = _tmp13_;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp15_ = view_collection_get_selected_sources (_tmp14_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp17_ = add_tags_command_new (_tmp12_, _tmp10_, _tmp16_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp18_ = _tmp17_;
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_COMMAND, Command));
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp18_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (_tmp16_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_data_collection_unref0 (_tmp14_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_hierarchical_tag_index_unref0 (_tmp8_);
#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_command_manager_unref0 (_tmp6_);
#line 21905 "PhotoPage.c"
	}
#line 3347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL);
#line 3347 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_text_entry_dialog_mediator_unref0 (dialog);
#line 21911 "PhotoPage.c"
}


static void library_photo_page_on_modify_tags (LibraryPhotoPage* self) {
	LibraryPhoto* photo = NULL;
	ViewCollection* _tmp0_ = NULL;
	ViewCollection* _tmp1_ = NULL;
	DataView* _tmp2_ = NULL;
	DataView* _tmp3_ = NULL;
	DataSource* _tmp4_ = NULL;
	LibraryPhoto* _tmp5_ = NULL;
	ModifyTagsDialog* dialog = NULL;
	LibraryPhoto* _tmp6_ = NULL;
	ModifyTagsDialog* _tmp7_ = NULL;
	GeeArrayList* new_tags = NULL;
	ModifyTagsDialog* _tmp8_ = NULL;
	GeeArrayList* _tmp9_ = NULL;
	GeeArrayList* _tmp10_ = NULL;
	CommandManager* _tmp11_ = NULL;
	CommandManager* _tmp12_ = NULL;
	LibraryPhoto* _tmp13_ = NULL;
	GeeArrayList* _tmp14_ = NULL;
	ModifyTagsCommand* _tmp15_ = NULL;
	ModifyTagsCommand* _tmp16_ = NULL;
#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self));
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = _tmp0_;
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = view_collection_get_selected_at (_tmp1_, 0);
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = _tmp2_;
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = data_view_get_source (_tmp3_);
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_LIBRARY_PHOTO, LibraryPhoto);
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp3_);
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_data_collection_unref0 (_tmp1_);
#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	photo = _tmp5_;
#line 3360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp6_ = photo;
#line 3360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp7_ = modify_tags_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource));
#line 3360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	dialog = _tmp7_;
#line 3361 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp8_ = dialog;
#line 3361 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp9_ = modify_tags_dialog_execute (_tmp8_);
#line 3361 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	new_tags = _tmp9_;
#line 3363 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp10_ = new_tags;
#line 3363 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	if (_tmp10_ == NULL) {
#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (new_tags);
#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_text_entry_dialog_mediator_unref0 (dialog);
#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		_g_object_unref0 (photo);
#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala"
		return;
#line 21980 "PhotoPage.c"
	}
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp11_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp12_ = _tmp11_;
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp13_ = photo;
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp14_ = new_tags;
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp15_ = modify_tags_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp16_ = _tmp15_;
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	command_manager_execute (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_COMMAND, Command));
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp16_);
#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_command_manager_unref0 (_tmp12_);
#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (new_tags);
#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_text_entry_dialog_mediator_unref0 (dialog);
#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (photo);
#line 22006 "PhotoPage.c"
}


static gboolean library_photo_page_library_photo_page_view_filter_real_predicate (ViewFilter* base, DataView* view) {
	LibraryPhotoPageLibraryPhotoPageViewFilter * self;
	gboolean result = FALSE;
	DataView* _tmp0_ = NULL;
	DataSource* _tmp1_ = NULL;
	MediaSource* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
#line 2329 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilter);
#line 2329 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_return_val_if_fail (IS_DATA_VIEW (view), FALSE);
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = view;
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp1_ = data_view_get_source (_tmp0_);
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource);
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp3_ = media_source_is_trashed (_tmp2_);
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = !_tmp3_;
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp2_);
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	result = _tmp4_;
#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return result;
#line 22038 "PhotoPage.c"
}


static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_construct (GType object_type) {
	LibraryPhotoPageLibraryPhotoPageViewFilter* self = NULL;
#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = (LibraryPhotoPageLibraryPhotoPageViewFilter*) view_filter_construct (object_type);
#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return self;
#line 22048 "PhotoPage.c"
}


static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_new (void) {
#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	return library_photo_page_library_photo_page_view_filter_construct (LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER);
#line 22055 "PhotoPage.c"
}


static void library_photo_page_library_photo_page_view_filter_class_init (LibraryPhotoPageLibraryPhotoPageViewFilterClass * klass) {
#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_library_photo_page_view_filter_parent_class = g_type_class_peek_parent (klass);
#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((ViewFilterClass *) klass)->predicate = library_photo_page_library_photo_page_view_filter_real_predicate;
#line 22064 "PhotoPage.c"
}


static void library_photo_page_library_photo_page_view_filter_instance_init (LibraryPhotoPageLibraryPhotoPageViewFilter * self) {
}


static GType library_photo_page_library_photo_page_view_filter_get_type (void) {
	static volatile gsize library_photo_page_library_photo_page_view_filter_type_id__volatile = 0;
	if (g_once_init_enter (&library_photo_page_library_photo_page_view_filter_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoPageLibraryPhotoPageViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_page_library_photo_page_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoPageLibraryPhotoPageViewFilter), 0, (GInstanceInitFunc) library_photo_page_library_photo_page_view_filter_instance_init, NULL };
		GType library_photo_page_library_photo_page_view_filter_type_id;
		library_photo_page_library_photo_page_view_filter_type_id = g_type_register_static (TYPE_VIEW_FILTER, "LibraryPhotoPageLibraryPhotoPageViewFilter", &g_define_type_info, 0);
		g_once_init_leave (&library_photo_page_library_photo_page_view_filter_type_id__volatile, library_photo_page_library_photo_page_view_filter_type_id);
	}
	return library_photo_page_library_photo_page_view_filter_type_id__volatile;
}


static void library_photo_page_class_init (LibraryPhotoPageClass * klass) {
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	library_photo_page_parent_class = g_type_class_peek_parent (klass);
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_type_class_add_private (klass, sizeof (LibraryPhotoPagePrivate));
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->init_collect_ui_filenames = library_photo_page_real_init_collect_ui_filenames;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->init_collect_action_entries = library_photo_page_real_init_collect_action_entries;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->init_collect_toggle_action_entries = library_photo_page_real_init_collect_toggle_action_entries;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->init_collect_injection_groups = library_photo_page_real_init_collect_injection_groups;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->register_radio_actions = library_photo_page_real_register_radio_actions;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->update_actions = library_photo_page_real_update_actions;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((LibraryPhotoPageClass *) klass)->developer_changed = library_photo_page_real_developer_changed;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->switched_to = library_photo_page_real_switched_to;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->get_bottom_left_trinket = library_photo_page_real_get_bottom_left_trinket;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->get_top_right_trinket = library_photo_page_real_get_top_right_trinket;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_increase_size = library_photo_page_real_on_increase_size;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_decrease_size = library_photo_page_real_on_decrease_size;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_zoom_slider_key_press = library_photo_page_real_on_zoom_slider_key_press;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->update_ui = library_photo_page_real_update_ui;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->notify_photo_backing_missing = library_photo_page_real_notify_photo_backing_missing;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((GtkWidgetClass *) klass)->key_press_event = library_photo_page_real_key_press_event;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((EditingHostPageClass *) klass)->on_double_click = library_photo_page_real_on_double_click;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_left_released = library_photo_page_real_on_left_released;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_context_buttonpress = library_photo_page_real_on_context_buttonpress;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	((PageClass *) klass)->on_context_keypress = library_photo_page_real_on_context_keypress;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	G_OBJECT_CLASS (klass)->finalize = library_photo_page_finalize;
#line 22131 "PhotoPage.c"
}


static void library_photo_page_instance_init (LibraryPhotoPage * self) {
	LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp0_ = NULL;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv = LIBRARY_PHOTO_PAGE_GET_PRIVATE (self);
#line 2334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->return_page = NULL;
#line 2335 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->return_to_collection_on_release = FALSE;
#line 2336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = library_photo_page_library_photo_page_view_filter_new ();
#line 2336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self->priv->filter = _tmp0_;
#line 22147 "PhotoPage.c"
}


static void library_photo_page_finalize (GObject* obj) {
	LibraryPhotoPage * self;
	LibraryPhotoSourceCollection* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	LibraryPhotoSourceCollection* _tmp2_ = NULL;
	guint _tmp3_ = 0U;
	ConfigFacade* _tmp4_ = NULL;
	ConfigFacade* _tmp5_ = NULL;
	guint _tmp6_ = 0U;
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage);
#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp0_ = library_photo_global;
#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE);
#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_photo_page_on_photo_destroyed_source_collection_item_destroyed, self);
#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp2_ = library_photo_global;
#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE);
#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_photo_page_on_metadata_altered_data_collection_items_altered, self);
#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp4_ = config_facade_get_instance ();
#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_tmp5_ = _tmp4_;
#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_parse_name ("external-app-changed", TYPE_CONFIGURATION_FACADE, &_tmp6_, NULL, FALSE);
#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed, self);
#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (_tmp5_);
#line 2334 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_g_object_unref0 (self->priv->return_page);
#line 2336 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	_view_filter_unref0 (self->priv->filter);
#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala"
	G_OBJECT_CLASS (library_photo_page_parent_class)->finalize (obj);
#line 22190 "PhotoPage.c"
}


GType library_photo_page_get_type (void) {
	static volatile gsize library_photo_page_type_id__volatile = 0;
	if (g_once_init_enter (&library_photo_page_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoPage), 0, (GInstanceInitFunc) library_photo_page_instance_init, NULL };
		GType library_photo_page_type_id;
		library_photo_page_type_id = g_type_register_static (TYPE_EDITING_HOST_PAGE, "LibraryPhotoPage", &g_define_type_info, 0);
		g_once_init_leave (&library_photo_page_type_id__volatile, library_photo_page_type_id);
	}
	return library_photo_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);
}