/* Commands.c generated by valac 0.40.4, the Vala compiler * generated from Commands.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. */ /* PageCommand stores the current page when a Command is created. Subclasses can call return_to_page()*/ /* if it's appropriate to return to that page when executing an undo() or redo().*/ #include #include #include #include #include #include #include #include #include #include #include "shotwell-graphics-processor.h" #include #include #define TYPE_COMMAND_DESCRIPTION (command_description_get_type ()) #define COMMAND_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_DESCRIPTION, CommandDescription)) #define IS_COMMAND_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_DESCRIPTION)) #define COMMAND_DESCRIPTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_COMMAND_DESCRIPTION, CommandDescriptionIface)) typedef struct _CommandDescription CommandDescription; typedef struct _CommandDescriptionIface CommandDescriptionIface; #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; typedef struct _CommandPrivate CommandPrivate; #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; typedef struct _PageCommandPrivate PageCommandPrivate; #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_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 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; enum { PAGE_COMMAND_0_PROPERTY, PAGE_COMMAND_NUM_PROPERTIES }; static GParamSpec* page_command_properties[PAGE_COMMAND_NUM_PROPERTIES]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #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_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_SINGLE_PHOTO_PAGE (single_photo_page_get_type ()) #define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)) #define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) #define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE)) #define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE)) #define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) typedef struct _SinglePhotoPage SinglePhotoPage; typedef struct _SinglePhotoPageClass SinglePhotoPageClass; #define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ()) #define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage)) #define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) #define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE)) #define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE)) #define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) typedef struct _EditingHostPage EditingHostPage; typedef struct _EditingHostPageClass EditingHostPageClass; #define TYPE_LIBRARY_PHOTO_PAGE (library_photo_page_get_type ()) #define LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage)) #define LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass)) #define IS_LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_PAGE)) #define IS_LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_PAGE)) #define LIBRARY_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass)) typedef struct _LibraryPhotoPage LibraryPhotoPage; typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass; #define TYPE_DATA_COLLECTION (data_collection_get_type ()) #define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) #define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) #define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) #define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) #define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) typedef struct _DataCollection DataCollection; typedef struct _DataCollectionClass DataCollectionClass; #define TYPE_VIEW_COLLECTION (view_collection_get_type ()) #define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) #define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) #define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) #define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) #define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) typedef struct _ViewCollection ViewCollection; typedef struct _ViewCollectionClass ViewCollectionClass; #define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) #define TYPE_DATA_VIEW (data_view_get_type ()) #define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) #define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) #define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) #define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) #define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) typedef struct _DataView DataView; typedef struct _DataViewClass DataViewClass; #define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ()) #define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView)) #define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) #define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW)) #define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW)) #define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) typedef struct _ThumbnailView ThumbnailView; typedef struct _ThumbnailViewClass ThumbnailViewClass; #define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ()) #define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem)) #define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) #define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM)) #define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM)) #define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) typedef struct _CheckerboardItem CheckerboardItem; typedef struct _CheckerboardItemClass CheckerboardItemClass; #define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ()) #define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem)) #define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) #define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM)) #define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM)) #define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) typedef struct _MediaSourceItem MediaSourceItem; typedef struct _MediaSourceItemClass MediaSourceItemClass; #define TYPE_THUMBNAIL (thumbnail_get_type ()) #define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail)) #define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass)) #define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL)) #define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL)) #define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass)) typedef struct _Thumbnail Thumbnail; typedef struct _ThumbnailClass ThumbnailClass; #define TYPE_LIBRARY_WINDOW (library_window_get_type ()) #define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) #define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) #define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) #define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) #define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) typedef struct _LibraryWindow LibraryWindow; typedef struct _LibraryWindowClass LibraryWindowClass; #define TYPE_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; typedef struct _SingleDataSourceCommandPrivate SingleDataSourceCommandPrivate; enum { SINGLE_DATA_SOURCE_COMMAND_0_PROPERTY, SINGLE_DATA_SOURCE_COMMAND_NUM_PROPERTIES }; static GParamSpec* single_data_source_command_properties[SINGLE_DATA_SOURCE_COMMAND_NUM_PROPERTIES]; #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_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ()) #define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand)) #define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) #define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND)) #define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND)) #define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) typedef struct _SimpleProxyableCommand SimpleProxyableCommand; typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass; typedef struct _SimpleProxyableCommandPrivate SimpleProxyableCommandPrivate; #define TYPE_SOURCE_PROXY (source_proxy_get_type ()) #define SOURCE_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_PROXY, SourceProxy)) #define SOURCE_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_PROXY, SourceProxyClass)) #define IS_SOURCE_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_PROXY)) #define IS_SOURCE_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_PROXY)) #define SOURCE_PROXY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_PROXY, SourceProxyClass)) typedef struct _SourceProxy SourceProxy; typedef struct _SourceProxyClass SourceProxyClass; enum { SIMPLE_PROXYABLE_COMMAND_0_PROPERTY, SIMPLE_PROXYABLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* simple_proxyable_command_properties[SIMPLE_PROXYABLE_COMMAND_NUM_PROPERTIES]; #define _source_proxy_unref0(var) ((var == NULL) ? NULL : (var = (source_proxy_unref (var), NULL))) #define TYPE_PROXYABLE (proxyable_get_type ()) #define PROXYABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROXYABLE, Proxyable)) #define IS_PROXYABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROXYABLE)) #define PROXYABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_PROXYABLE, ProxyableIface)) typedef struct _Proxyable Proxyable; typedef struct _ProxyableIface ProxyableIface; #define TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND (single_photo_transformation_command_get_type ()) #define SINGLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommand)) #define SINGLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommandClass)) #define IS_SINGLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND)) #define IS_SINGLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND)) #define SINGLE_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommandClass)) typedef struct _SinglePhotoTransformationCommand SinglePhotoTransformationCommand; typedef struct _SinglePhotoTransformationCommandClass SinglePhotoTransformationCommandClass; typedef struct _SinglePhotoTransformationCommandPrivate SinglePhotoTransformationCommandPrivate; #define TYPE_PHOTO_TRANSFORMATION_STATE (photo_transformation_state_get_type ()) #define PHOTO_TRANSFORMATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState)) #define PHOTO_TRANSFORMATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStateClass)) #define IS_PHOTO_TRANSFORMATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TRANSFORMATION_STATE)) #define IS_PHOTO_TRANSFORMATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TRANSFORMATION_STATE)) #define PHOTO_TRANSFORMATION_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStateClass)) typedef struct _PhotoTransformationState PhotoTransformationState; typedef struct _PhotoTransformationStateClass PhotoTransformationStateClass; enum { SINGLE_PHOTO_TRANSFORMATION_COMMAND_0_PROPERTY, SINGLE_PHOTO_TRANSFORMATION_COMMAND_NUM_PROPERTIES }; static GParamSpec* single_photo_transformation_command_properties[SINGLE_PHOTO_TRANSFORMATION_COMMAND_NUM_PROPERTIES]; #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; typedef struct _GenericPhotoTransformationCommandPrivate GenericPhotoTransformationCommandPrivate; enum { GENERIC_PHOTO_TRANSFORMATION_COMMAND_0_PROPERTY, GENERIC_PHOTO_TRANSFORMATION_COMMAND_NUM_PROPERTIES }; static GParamSpec* generic_photo_transformation_command_properties[GENERIC_PHOTO_TRANSFORMATION_COMMAND_NUM_PROPERTIES]; #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; typedef struct _MultipleDataSourceCommandPrivate MultipleDataSourceCommandPrivate; #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; enum { MULTIPLE_DATA_SOURCE_COMMAND_0_PROPERTY, MULTIPLE_DATA_SOURCE_COMMAND_NUM_PROPERTIES }; static GParamSpec* multiple_data_source_command_properties[MULTIPLE_DATA_SOURCE_COMMAND_NUM_PROPERTIES]; #define _g_free0(var) (var = (g_free (var), NULL)) #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_TRANSACTION_CONTROLLER (transaction_controller_get_type ()) #define TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionController)) #define TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass)) #define IS_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSACTION_CONTROLLER)) #define IS_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSACTION_CONTROLLER)) #define TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass)) typedef struct _TransactionController TransactionController; typedef struct _TransactionControllerClass TransactionControllerClass; #define TYPE_PROGRESS_DIALOG (progress_dialog_get_type ()) #define PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROGRESS_DIALOG, ProgressDialog)) #define PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROGRESS_DIALOG, ProgressDialogClass)) #define IS_PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROGRESS_DIALOG)) #define IS_PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROGRESS_DIALOG)) #define PROGRESS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROGRESS_DIALOG, ProgressDialogClass)) typedef struct _ProgressDialog ProgressDialog; typedef struct _ProgressDialogClass ProgressDialogClass; #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; typedef struct _MultipleDataSourceAtOnceCommandPrivate MultipleDataSourceAtOnceCommandPrivate; enum { MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_0_PROPERTY, MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_NUM_PROPERTIES }; static GParamSpec* multiple_data_source_at_once_command_properties[MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_NUM_PROPERTIES]; #define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) #define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) #define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) #define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) #define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) #define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) typedef struct _MediaCollectionRegistry MediaCollectionRegistry; typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; #define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND (multiple_photo_transformation_command_get_type ()) #define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommand)) #define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass)) #define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND)) #define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND)) #define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass)) typedef struct _MultiplePhotoTransformationCommand MultiplePhotoTransformationCommand; typedef struct _MultiplePhotoTransformationCommandClass MultiplePhotoTransformationCommandClass; typedef struct _MultiplePhotoTransformationCommandPrivate MultiplePhotoTransformationCommandPrivate; enum { MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_0_PROPERTY, MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_NUM_PROPERTIES }; static GParamSpec* multiple_photo_transformation_command_properties[MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_NUM_PROPERTIES]; #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; typedef struct _RotateSingleCommandPrivate RotateSingleCommandPrivate; #define TYPE_ROTATION (rotation_get_type ()) enum { ROTATE_SINGLE_COMMAND_0_PROPERTY, ROTATE_SINGLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* rotate_single_command_properties[ROTATE_SINGLE_COMMAND_NUM_PROPERTIES]; #define TYPE_ROTATE_MULTIPLE_COMMAND (rotate_multiple_command_get_type ()) #define ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand)) #define ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass)) #define IS_ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_MULTIPLE_COMMAND)) #define IS_ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_MULTIPLE_COMMAND)) #define ROTATE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass)) typedef struct _RotateMultipleCommand RotateMultipleCommand; typedef struct _RotateMultipleCommandClass RotateMultipleCommandClass; typedef struct _RotateMultipleCommandPrivate RotateMultipleCommandPrivate; enum { ROTATE_MULTIPLE_COMMAND_0_PROPERTY, ROTATE_MULTIPLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* rotate_multiple_command_properties[ROTATE_MULTIPLE_COMMAND_NUM_PROPERTIES]; #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; typedef struct _EditTitleCommandPrivate EditTitleCommandPrivate; enum { EDIT_TITLE_COMMAND_0_PROPERTY, EDIT_TITLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* edit_title_command_properties[EDIT_TITLE_COMMAND_NUM_PROPERTIES]; #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; typedef struct _EditCommentCommandPrivate EditCommentCommandPrivate; enum { EDIT_COMMENT_COMMAND_0_PROPERTY, EDIT_COMMENT_COMMAND_NUM_PROPERTIES }; static GParamSpec* edit_comment_command_properties[EDIT_COMMENT_COMMAND_NUM_PROPERTIES]; #define TYPE_EDIT_MULTIPLE_TITLES_COMMAND (edit_multiple_titles_command_get_type ()) #define EDIT_MULTIPLE_TITLES_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommand)) #define EDIT_MULTIPLE_TITLES_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommandClass)) #define IS_EDIT_MULTIPLE_TITLES_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_MULTIPLE_TITLES_COMMAND)) #define IS_EDIT_MULTIPLE_TITLES_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_MULTIPLE_TITLES_COMMAND)) #define EDIT_MULTIPLE_TITLES_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommandClass)) typedef struct _EditMultipleTitlesCommand EditMultipleTitlesCommand; typedef struct _EditMultipleTitlesCommandClass EditMultipleTitlesCommandClass; typedef struct _EditMultipleTitlesCommandPrivate EditMultipleTitlesCommandPrivate; enum { EDIT_MULTIPLE_TITLES_COMMAND_0_PROPERTY, EDIT_MULTIPLE_TITLES_COMMAND_NUM_PROPERTIES }; static GParamSpec* edit_multiple_titles_command_properties[EDIT_MULTIPLE_TITLES_COMMAND_NUM_PROPERTIES]; #define TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND (edit_multiple_comments_command_get_type ()) #define EDIT_MULTIPLE_COMMENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommand)) #define EDIT_MULTIPLE_COMMENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommandClass)) #define IS_EDIT_MULTIPLE_COMMENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND)) #define IS_EDIT_MULTIPLE_COMMENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND)) #define EDIT_MULTIPLE_COMMENTS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommandClass)) typedef struct _EditMultipleCommentsCommand EditMultipleCommentsCommand; typedef struct _EditMultipleCommentsCommandClass EditMultipleCommentsCommandClass; typedef struct _EditMultipleCommentsCommandPrivate EditMultipleCommentsCommandPrivate; enum { EDIT_MULTIPLE_COMMENTS_COMMAND_0_PROPERTY, EDIT_MULTIPLE_COMMENTS_COMMAND_NUM_PROPERTIES }; static GParamSpec* edit_multiple_comments_command_properties[EDIT_MULTIPLE_COMMENTS_COMMAND_NUM_PROPERTIES]; #define TYPE_RENAME_EVENT_COMMAND (rename_event_command_get_type ()) #define RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommand)) #define RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass)) #define IS_RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_EVENT_COMMAND)) #define IS_RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_EVENT_COMMAND)) #define RENAME_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass)) typedef struct _RenameEventCommand RenameEventCommand; typedef struct _RenameEventCommandClass RenameEventCommandClass; typedef struct _RenameEventCommandPrivate RenameEventCommandPrivate; enum { RENAME_EVENT_COMMAND_0_PROPERTY, RENAME_EVENT_COMMAND_NUM_PROPERTIES }; static GParamSpec* rename_event_command_properties[RENAME_EVENT_COMMAND_NUM_PROPERTIES]; #define TYPE_EVENT_SOURCE (event_source_get_type ()) #define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) #define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) #define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) #define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) #define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) typedef struct _EventSource EventSource; typedef struct _EventSourceClass EventSourceClass; #define TYPE_EVENT (event_get_type ()) #define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) #define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) #define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) #define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) #define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) typedef struct _Event Event; typedef struct _EventClass EventClass; #define TYPE_EDIT_EVENT_COMMENT_COMMAND (edit_event_comment_command_get_type ()) #define EDIT_EVENT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommand)) #define EDIT_EVENT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandClass)) #define IS_EDIT_EVENT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND)) #define IS_EDIT_EVENT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_EVENT_COMMENT_COMMAND)) #define EDIT_EVENT_COMMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandClass)) typedef struct _EditEventCommentCommand EditEventCommentCommand; typedef struct _EditEventCommentCommandClass EditEventCommentCommandClass; typedef struct _EditEventCommentCommandPrivate EditEventCommentCommandPrivate; enum { EDIT_EVENT_COMMENT_COMMAND_0_PROPERTY, EDIT_EVENT_COMMENT_COMMAND_NUM_PROPERTIES }; static GParamSpec* edit_event_comment_command_properties[EDIT_EVENT_COMMENT_COMMAND_NUM_PROPERTIES]; #define TYPE_SET_KEY_PHOTO_COMMAND (set_key_photo_command_get_type ()) #define SET_KEY_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommand)) #define SET_KEY_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommandClass)) #define IS_SET_KEY_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_KEY_PHOTO_COMMAND)) #define IS_SET_KEY_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_KEY_PHOTO_COMMAND)) #define SET_KEY_PHOTO_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommandClass)) typedef struct _SetKeyPhotoCommand SetKeyPhotoCommand; typedef struct _SetKeyPhotoCommandClass SetKeyPhotoCommandClass; typedef struct _SetKeyPhotoCommandPrivate SetKeyPhotoCommandPrivate; enum { SET_KEY_PHOTO_COMMAND_0_PROPERTY, SET_KEY_PHOTO_COMMAND_NUM_PROPERTIES }; static GParamSpec* set_key_photo_command_properties[SET_KEY_PHOTO_COMMAND_NUM_PROPERTIES]; #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; typedef struct _RevertSingleCommandPrivate RevertSingleCommandPrivate; enum { REVERT_SINGLE_COMMAND_0_PROPERTY, REVERT_SINGLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* revert_single_command_properties[REVERT_SINGLE_COMMAND_NUM_PROPERTIES]; #define TYPE_REVERT_MULTIPLE_COMMAND (revert_multiple_command_get_type ()) #define REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommand)) #define REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass)) #define IS_REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_MULTIPLE_COMMAND)) #define IS_REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_MULTIPLE_COMMAND)) #define REVERT_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass)) typedef struct _RevertMultipleCommand RevertMultipleCommand; typedef struct _RevertMultipleCommandClass RevertMultipleCommandClass; typedef struct _RevertMultipleCommandPrivate RevertMultipleCommandPrivate; enum { REVERT_MULTIPLE_COMMAND_0_PROPERTY, REVERT_MULTIPLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* revert_multiple_command_properties[REVERT_MULTIPLE_COMMAND_NUM_PROPERTIES]; #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; typedef struct _EnhanceSingleCommandPrivate EnhanceSingleCommandPrivate; enum { ENHANCE_SINGLE_COMMAND_0_PROPERTY, ENHANCE_SINGLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* enhance_single_command_properties[ENHANCE_SINGLE_COMMAND_NUM_PROPERTIES]; #define TYPE_ENHANCE_MULTIPLE_COMMAND (enhance_multiple_command_get_type ()) #define ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommand)) #define ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass)) #define IS_ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND)) #define IS_ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND)) #define ENHANCE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass)) typedef struct _EnhanceMultipleCommand EnhanceMultipleCommand; typedef struct _EnhanceMultipleCommandClass EnhanceMultipleCommandClass; typedef struct _EnhanceMultipleCommandPrivate EnhanceMultipleCommandPrivate; enum { ENHANCE_MULTIPLE_COMMAND_0_PROPERTY, ENHANCE_MULTIPLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* enhance_multiple_command_properties[ENHANCE_MULTIPLE_COMMAND_NUM_PROPERTIES]; #define TYPE_STRAIGHTEN_COMMAND (straighten_command_get_type ()) #define STRAIGHTEN_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STRAIGHTEN_COMMAND, StraightenCommand)) #define STRAIGHTEN_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STRAIGHTEN_COMMAND, StraightenCommandClass)) #define IS_STRAIGHTEN_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STRAIGHTEN_COMMAND)) #define IS_STRAIGHTEN_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STRAIGHTEN_COMMAND)) #define STRAIGHTEN_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STRAIGHTEN_COMMAND, StraightenCommandClass)) typedef struct _StraightenCommand StraightenCommand; typedef struct _StraightenCommandClass StraightenCommandClass; typedef struct _StraightenCommandPrivate StraightenCommandPrivate; #define TYPE_BOX (box_get_type ()) typedef struct _Box Box; enum { STRAIGHTEN_COMMAND_0_PROPERTY, STRAIGHTEN_COMMAND_NUM_PROPERTIES }; static GParamSpec* straighten_command_properties[STRAIGHTEN_COMMAND_NUM_PROPERTIES]; #define TYPE_CROP_COMMAND (crop_command_get_type ()) #define CROP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CROP_COMMAND, CropCommand)) #define CROP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CROP_COMMAND, CropCommandClass)) #define IS_CROP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CROP_COMMAND)) #define IS_CROP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CROP_COMMAND)) #define CROP_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CROP_COMMAND, CropCommandClass)) typedef struct _CropCommand CropCommand; typedef struct _CropCommandClass CropCommandClass; typedef struct _CropCommandPrivate CropCommandPrivate; enum { CROP_COMMAND_0_PROPERTY, CROP_COMMAND_NUM_PROPERTIES }; static GParamSpec* crop_command_properties[CROP_COMMAND_NUM_PROPERTIES]; #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 _AdjustColorsSingleCommandPrivate AdjustColorsSingleCommandPrivate; enum { ADJUST_COLORS_SINGLE_COMMAND_0_PROPERTY, ADJUST_COLORS_SINGLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* adjust_colors_single_command_properties[ADJUST_COLORS_SINGLE_COMMAND_NUM_PROPERTIES]; #define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) #define TYPE_ADJUST_COLORS_MULTIPLE_COMMAND (adjust_colors_multiple_command_get_type ()) #define ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommand)) #define ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass)) #define IS_ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND)) #define IS_ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND)) #define ADJUST_COLORS_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass)) typedef struct _AdjustColorsMultipleCommand AdjustColorsMultipleCommand; typedef struct _AdjustColorsMultipleCommandClass AdjustColorsMultipleCommandClass; typedef struct _AdjustColorsMultipleCommandPrivate AdjustColorsMultipleCommandPrivate; enum { ADJUST_COLORS_MULTIPLE_COMMAND_0_PROPERTY, ADJUST_COLORS_MULTIPLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* adjust_colors_multiple_command_properties[ADJUST_COLORS_MULTIPLE_COMMAND_NUM_PROPERTIES]; #define TYPE_REDEYE_COMMAND (redeye_command_get_type ()) #define REDEYE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REDEYE_COMMAND, RedeyeCommand)) #define REDEYE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REDEYE_COMMAND, RedeyeCommandClass)) #define IS_REDEYE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REDEYE_COMMAND)) #define IS_REDEYE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REDEYE_COMMAND)) #define REDEYE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REDEYE_COMMAND, RedeyeCommandClass)) typedef struct _RedeyeCommand RedeyeCommand; typedef struct _RedeyeCommandClass RedeyeCommandClass; typedef struct _RedeyeCommandPrivate RedeyeCommandPrivate; #define EDITING_TOOLS_TYPE_REDEYE_INSTANCE (editing_tools_redeye_instance_get_type ()) typedef struct _EditingToolsRedeyeInstance EditingToolsRedeyeInstance; enum { REDEYE_COMMAND_0_PROPERTY, REDEYE_COMMAND_NUM_PROPERTIES }; static GParamSpec* redeye_command_properties[REDEYE_COMMAND_NUM_PROPERTIES]; #define TYPE_MOVE_PHOTOS_COMMAND (move_photos_command_get_type ()) #define MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)) #define MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) #define IS_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOVE_PHOTOS_COMMAND)) #define IS_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOVE_PHOTOS_COMMAND)) #define MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) typedef struct _MovePhotosCommand MovePhotosCommand; typedef struct _MovePhotosCommandClass MovePhotosCommandClass; typedef struct _MovePhotosCommandPrivate MovePhotosCommandPrivate; #define MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND (move_photos_command_real_move_photos_command_get_type ()) #define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommand)) #define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommandClass)) #define MOVE_PHOTOS_COMMAND_IS_REAL_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND)) #define MOVE_PHOTOS_COMMAND_IS_REAL_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND)) #define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommandClass)) typedef struct _MovePhotosCommandRealMovePhotosCommand MovePhotosCommandRealMovePhotosCommand; typedef struct _MovePhotosCommandRealMovePhotosCommandClass MovePhotosCommandRealMovePhotosCommandClass; enum { MOVE_PHOTOS_COMMAND_0_PROPERTY, MOVE_PHOTOS_COMMAND_NUM_PROPERTIES }; static GParamSpec* move_photos_command_properties[MOVE_PHOTOS_COMMAND_NUM_PROPERTIES]; typedef struct _MovePhotosCommandRealMovePhotosCommandPrivate MovePhotosCommandRealMovePhotosCommandPrivate; enum { MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_0_PROPERTY, MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_NUM_PROPERTIES }; static GParamSpec* move_photos_command_real_move_photos_command_properties[MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_NUM_PROPERTIES]; #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_NEW_EVENT_COMMAND (new_event_command_get_type ()) #define NEW_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NEW_EVENT_COMMAND, NewEventCommand)) #define NEW_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NEW_EVENT_COMMAND, NewEventCommandClass)) #define IS_NEW_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NEW_EVENT_COMMAND)) #define IS_NEW_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NEW_EVENT_COMMAND)) #define NEW_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NEW_EVENT_COMMAND, NewEventCommandClass)) typedef struct _NewEventCommand NewEventCommand; typedef struct _NewEventCommandClass NewEventCommandClass; typedef struct _NewEventCommandPrivate NewEventCommandPrivate; enum { NEW_EVENT_COMMAND_0_PROPERTY, NEW_EVENT_COMMAND_NUM_PROPERTIES }; static GParamSpec* new_event_command_properties[NEW_EVENT_COMMAND_NUM_PROPERTIES]; #define TYPE_SET_EVENT_COMMAND (set_event_command_get_type ()) #define SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommand)) #define SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_EVENT_COMMAND, SetEventCommandClass)) #define IS_SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_EVENT_COMMAND)) #define IS_SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_EVENT_COMMAND)) #define SET_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommandClass)) typedef struct _SetEventCommand SetEventCommand; typedef struct _SetEventCommandClass SetEventCommandClass; typedef struct _SetEventCommandPrivate SetEventCommandPrivate; enum { SET_EVENT_COMMAND_0_PROPERTY, SET_EVENT_COMMAND_NUM_PROPERTIES }; static GParamSpec* set_event_command_properties[SET_EVENT_COMMAND_NUM_PROPERTIES]; #define TYPE_MERGE_EVENTS_COMMAND (merge_events_command_get_type ()) #define MERGE_EVENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommand)) #define MERGE_EVENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommandClass)) #define IS_MERGE_EVENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MERGE_EVENTS_COMMAND)) #define IS_MERGE_EVENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MERGE_EVENTS_COMMAND)) #define MERGE_EVENTS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommandClass)) typedef struct _MergeEventsCommand MergeEventsCommand; typedef struct _MergeEventsCommandClass MergeEventsCommandClass; typedef struct _MergeEventsCommandPrivate MergeEventsCommandPrivate; enum { MERGE_EVENTS_COMMAND_0_PROPERTY, MERGE_EVENTS_COMMAND_NUM_PROPERTIES }; static GParamSpec* merge_events_command_properties[MERGE_EVENTS_COMMAND_NUM_PROPERTIES]; #define TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND (duplicate_multiple_photos_command_get_type ()) #define DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand)) #define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass)) #define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND)) #define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND)) #define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass)) typedef struct _DuplicateMultiplePhotosCommand DuplicateMultiplePhotosCommand; typedef struct _DuplicateMultiplePhotosCommandClass DuplicateMultiplePhotosCommandClass; typedef struct _DuplicateMultiplePhotosCommandPrivate DuplicateMultiplePhotosCommandPrivate; #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; enum { DUPLICATE_MULTIPLE_PHOTOS_COMMAND_0_PROPERTY, DUPLICATE_MULTIPLE_PHOTOS_COMMAND_NUM_PROPERTIES }; static GParamSpec* duplicate_multiple_photos_command_properties[DUPLICATE_MULTIPLE_PHOTOS_COMMAND_NUM_PROPERTIES]; #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_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_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; typedef struct _SetRatingSingleCommandPrivate SetRatingSingleCommandPrivate; #define TYPE_RATING (rating_get_type ()) enum { SET_RATING_SINGLE_COMMAND_0_PROPERTY, SET_RATING_SINGLE_COMMAND_NUM_PROPERTIES }; static GParamSpec* set_rating_single_command_properties[SET_RATING_SINGLE_COMMAND_NUM_PROPERTIES]; #define TYPE_SET_RATING_COMMAND (set_rating_command_get_type ()) #define SET_RATING_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RATING_COMMAND, SetRatingCommand)) #define SET_RATING_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RATING_COMMAND, SetRatingCommandClass)) #define IS_SET_RATING_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RATING_COMMAND)) #define IS_SET_RATING_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RATING_COMMAND)) #define SET_RATING_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RATING_COMMAND, SetRatingCommandClass)) typedef struct _SetRatingCommand SetRatingCommand; typedef struct _SetRatingCommandClass SetRatingCommandClass; typedef struct _SetRatingCommandPrivate SetRatingCommandPrivate; enum { SET_RATING_COMMAND_0_PROPERTY, SET_RATING_COMMAND_NUM_PROPERTIES }; static GParamSpec* set_rating_command_properties[SET_RATING_COMMAND_NUM_PROPERTIES]; #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; typedef struct _SetRawDeveloperCommandPrivate SetRawDeveloperCommandPrivate; #define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) enum { SET_RAW_DEVELOPER_COMMAND_0_PROPERTY, SET_RAW_DEVELOPER_COMMAND_NUM_PROPERTIES }; static GParamSpec* set_raw_developer_command_properties[SET_RAW_DEVELOPER_COMMAND_NUM_PROPERTIES]; #define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) #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; typedef struct _AdjustDateTimePhotoCommandPrivate AdjustDateTimePhotoCommandPrivate; #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; enum { ADJUST_DATE_TIME_PHOTO_COMMAND_0_PROPERTY, ADJUST_DATE_TIME_PHOTO_COMMAND_NUM_PROPERTIES }; static GParamSpec* adjust_date_time_photo_command_properties[ADJUST_DATE_TIME_PHOTO_COMMAND_NUM_PROPERTIES]; #define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) #define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) #define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) #define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) #define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) #define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) typedef struct _ContainerSourceCollection ContainerSourceCollection; typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; #define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ()) #define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection)) #define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) #define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION)) #define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION)) #define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) typedef struct _EventSourceCollection EventSourceCollection; typedef struct _EventSourceCollectionClass EventSourceCollectionClass; #define TYPE_EVENT_VIEW (event_view_get_type ()) #define EVENT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_VIEW, EventView)) #define EVENT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_VIEW, EventViewClass)) #define IS_EVENT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_VIEW)) #define IS_EVENT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_VIEW)) #define EVENT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_VIEW, EventViewClass)) typedef struct _EventView EventView; typedef struct _EventViewClass EventViewClass; #define TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND (adjust_date_time_photos_command_get_type ()) #define ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand)) #define ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass)) #define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND)) #define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND)) #define ADJUST_DATE_TIME_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass)) typedef struct _AdjustDateTimePhotosCommand AdjustDateTimePhotosCommand; typedef struct _AdjustDateTimePhotosCommandClass AdjustDateTimePhotosCommandClass; typedef struct _AdjustDateTimePhotosCommandPrivate AdjustDateTimePhotosCommandPrivate; enum { ADJUST_DATE_TIME_PHOTOS_COMMAND_0_PROPERTY, ADJUST_DATE_TIME_PHOTOS_COMMAND_NUM_PROPERTIES }; static GParamSpec* adjust_date_time_photos_command_properties[ADJUST_DATE_TIME_PHOTOS_COMMAND_NUM_PROPERTIES]; #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; typedef struct _AddTagsCommandPrivate AddTagsCommandPrivate; enum { ADD_TAGS_COMMAND_0_PROPERTY, ADD_TAGS_COMMAND_NUM_PROPERTIES }; static GParamSpec* add_tags_command_properties[ADD_TAGS_COMMAND_NUM_PROPERTIES]; #define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ()) #define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection)) #define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) #define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION)) #define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION)) #define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) typedef struct _VideoSourceCollection VideoSourceCollection; typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass; #define TYPE_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_RENAME_TAG_COMMAND (rename_tag_command_get_type ()) #define RENAME_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_TAG_COMMAND, RenameTagCommand)) #define RENAME_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_TAG_COMMAND, RenameTagCommandClass)) #define IS_RENAME_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_TAG_COMMAND)) #define IS_RENAME_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_TAG_COMMAND)) #define RENAME_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_TAG_COMMAND, RenameTagCommandClass)) typedef struct _RenameTagCommand RenameTagCommand; typedef struct _RenameTagCommandClass RenameTagCommandClass; typedef struct _RenameTagCommandPrivate RenameTagCommandPrivate; enum { RENAME_TAG_COMMAND_0_PROPERTY, RENAME_TAG_COMMAND_NUM_PROPERTIES }; static GParamSpec* rename_tag_command_properties[RENAME_TAG_COMMAND_NUM_PROPERTIES]; #define TYPE_DELETE_TAG_COMMAND (delete_tag_command_get_type ()) #define DELETE_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_TAG_COMMAND, DeleteTagCommand)) #define DELETE_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_TAG_COMMAND, DeleteTagCommandClass)) #define IS_DELETE_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_TAG_COMMAND)) #define IS_DELETE_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_TAG_COMMAND)) #define DELETE_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_TAG_COMMAND, DeleteTagCommandClass)) typedef struct _DeleteTagCommand DeleteTagCommand; typedef struct _DeleteTagCommandClass DeleteTagCommandClass; typedef struct _DeleteTagCommandPrivate DeleteTagCommandPrivate; enum { DELETE_TAG_COMMAND_0_PROPERTY, DELETE_TAG_COMMAND_NUM_PROPERTIES }; static GParamSpec* delete_tag_command_properties[DELETE_TAG_COMMAND_NUM_PROPERTIES]; #define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ()) #define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection)) #define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass)) #define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION)) #define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION)) #define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass)) typedef struct _TagSourceCollection TagSourceCollection; typedef struct _TagSourceCollectionClass TagSourceCollectionClass; #define TYPE_NEW_CHILD_TAG_COMMAND (new_child_tag_command_get_type ()) #define NEW_CHILD_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommand)) #define NEW_CHILD_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommandClass)) #define IS_NEW_CHILD_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NEW_CHILD_TAG_COMMAND)) #define IS_NEW_CHILD_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NEW_CHILD_TAG_COMMAND)) #define NEW_CHILD_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommandClass)) typedef struct _NewChildTagCommand NewChildTagCommand; typedef struct _NewChildTagCommandClass NewChildTagCommandClass; typedef struct _NewChildTagCommandPrivate NewChildTagCommandPrivate; enum { NEW_CHILD_TAG_COMMAND_0_PROPERTY, NEW_CHILD_TAG_COMMAND_NUM_PROPERTIES }; static GParamSpec* new_child_tag_command_properties[NEW_CHILD_TAG_COMMAND_NUM_PROPERTIES]; #define TYPE_NEW_ROOT_TAG_COMMAND (new_root_tag_command_get_type ()) #define NEW_ROOT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommand)) #define NEW_ROOT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommandClass)) #define IS_NEW_ROOT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NEW_ROOT_TAG_COMMAND)) #define IS_NEW_ROOT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NEW_ROOT_TAG_COMMAND)) #define NEW_ROOT_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommandClass)) typedef struct _NewRootTagCommand NewRootTagCommand; typedef struct _NewRootTagCommandClass NewRootTagCommandClass; typedef struct _NewRootTagCommandPrivate NewRootTagCommandPrivate; enum { NEW_ROOT_TAG_COMMAND_0_PROPERTY, NEW_ROOT_TAG_COMMAND_NUM_PROPERTIES }; static GParamSpec* new_root_tag_command_properties[NEW_ROOT_TAG_COMMAND_NUM_PROPERTIES]; #define TYPE_REPARENT_TAG_COMMAND (reparent_tag_command_get_type ()) #define REPARENT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommand)) #define REPARENT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommandClass)) #define IS_REPARENT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REPARENT_TAG_COMMAND)) #define IS_REPARENT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REPARENT_TAG_COMMAND)) #define REPARENT_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommandClass)) typedef struct _ReparentTagCommand ReparentTagCommand; typedef struct _ReparentTagCommandClass ReparentTagCommandClass; typedef struct _ReparentTagCommandPrivate ReparentTagCommandPrivate; enum { REPARENT_TAG_COMMAND_0_PROPERTY, REPARENT_TAG_COMMAND_NUM_PROPERTIES }; static GParamSpec* reparent_tag_command_properties[REPARENT_TAG_COMMAND_NUM_PROPERTIES]; #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) #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 _ModifyTagsCommandPrivate ModifyTagsCommandPrivate; enum { MODIFY_TAGS_COMMAND_0_PROPERTY, MODIFY_TAGS_COMMAND_NUM_PROPERTIES }; static GParamSpec* modify_tags_command_properties[MODIFY_TAGS_COMMAND_NUM_PROPERTIES]; #define TYPE_TAG_UNTAG_PHOTOS_COMMAND (tag_untag_photos_command_get_type ()) #define TAG_UNTAG_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommand)) #define TAG_UNTAG_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommandClass)) #define IS_TAG_UNTAG_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_UNTAG_PHOTOS_COMMAND)) #define IS_TAG_UNTAG_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_UNTAG_PHOTOS_COMMAND)) #define TAG_UNTAG_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommandClass)) typedef struct _TagUntagPhotosCommand TagUntagPhotosCommand; typedef struct _TagUntagPhotosCommandClass TagUntagPhotosCommandClass; typedef struct _TagUntagPhotosCommandPrivate TagUntagPhotosCommandPrivate; enum { TAG_UNTAG_PHOTOS_COMMAND_0_PROPERTY, TAG_UNTAG_PHOTOS_COMMAND_NUM_PROPERTIES }; static GParamSpec* tag_untag_photos_command_properties[TAG_UNTAG_PHOTOS_COMMAND_NUM_PROPERTIES]; #define TYPE_RENAME_SAVED_SEARCH_COMMAND (rename_saved_search_command_get_type ()) #define RENAME_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommand)) #define RENAME_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandClass)) #define IS_RENAME_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND)) #define IS_RENAME_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_SAVED_SEARCH_COMMAND)) #define RENAME_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandClass)) typedef struct _RenameSavedSearchCommand RenameSavedSearchCommand; typedef struct _RenameSavedSearchCommandClass RenameSavedSearchCommandClass; typedef struct _RenameSavedSearchCommandPrivate RenameSavedSearchCommandPrivate; #define TYPE_SAVED_SEARCH (saved_search_get_type ()) #define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) #define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) #define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) #define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) #define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) typedef struct _SavedSearch SavedSearch; typedef struct _SavedSearchClass SavedSearchClass; enum { RENAME_SAVED_SEARCH_COMMAND_0_PROPERTY, RENAME_SAVED_SEARCH_COMMAND_NUM_PROPERTIES }; static GParamSpec* rename_saved_search_command_properties[RENAME_SAVED_SEARCH_COMMAND_NUM_PROPERTIES]; #define TYPE_DELETE_SAVED_SEARCH_COMMAND (delete_saved_search_command_get_type ()) #define DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand)) #define DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass)) #define IS_DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND)) #define IS_DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND)) #define DELETE_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass)) typedef struct _DeleteSavedSearchCommand DeleteSavedSearchCommand; typedef struct _DeleteSavedSearchCommandClass DeleteSavedSearchCommandClass; typedef struct _DeleteSavedSearchCommandPrivate DeleteSavedSearchCommandPrivate; enum { DELETE_SAVED_SEARCH_COMMAND_0_PROPERTY, DELETE_SAVED_SEARCH_COMMAND_NUM_PROPERTIES }; static GParamSpec* delete_saved_search_command_properties[DELETE_SAVED_SEARCH_COMMAND_NUM_PROPERTIES]; #define TYPE_SAVED_SEARCH_TABLE (saved_search_table_get_type ()) #define SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTable)) #define SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass)) #define IS_SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_TABLE)) #define IS_SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_TABLE)) #define SAVED_SEARCH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass)) typedef struct _SavedSearchTable SavedSearchTable; typedef struct _SavedSearchTableClass SavedSearchTableClass; #define _saved_search_table_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_table_unref (var), NULL))) #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; typedef struct _TrashUntrashPhotosCommandPrivate TrashUntrashPhotosCommandPrivate; enum { TRASH_UNTRASH_PHOTOS_COMMAND_0_PROPERTY, TRASH_UNTRASH_PHOTOS_COMMAND_NUM_PROPERTIES }; static GParamSpec* trash_untrash_photos_command_properties[TRASH_UNTRASH_PHOTOS_COMMAND_NUM_PROPERTIES]; #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; typedef struct _FlagUnflagCommandPrivate FlagUnflagCommandPrivate; enum { FLAG_UNFLAG_COMMAND_0_PROPERTY, FLAG_UNFLAG_COMMAND_NUM_PROPERTIES }; static GParamSpec* flag_unflag_command_properties[FLAG_UNFLAG_COMMAND_NUM_PROPERTIES]; #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 _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 _CommandDescriptionIface { GTypeInterface parent_iface; gchar* (*get_name) (CommandDescription* self); gchar* (*get_explanation) (CommandDescription* self); }; struct _Command { GObject parent_instance; CommandPrivate * priv; }; struct _CommandClass { GObjectClass parent_class; void (*prepare) (Command* self); void (*execute) (Command* self); void (*undo) (Command* self); void (*redo) (Command* self); gboolean (*compress) (Command* self, Command* command); gchar* (*get_name) (Command* self); gchar* (*get_explanation) (Command* self); }; struct _PageCommand { Command parent_instance; PageCommandPrivate * priv; }; struct _PageCommandClass { CommandClass parent_class; }; struct _PageCommandPrivate { Page* page; gboolean auto_return; Photo* library_photo; CollectionPage* collection_page; }; struct _SingleDataSourceCommand { PageCommand parent_instance; SingleDataSourceCommandPrivate * priv; DataSource* source; }; struct _SingleDataSourceCommandClass { PageCommandClass parent_class; }; struct _SimpleProxyableCommand { PageCommand parent_instance; SimpleProxyableCommandPrivate * priv; }; struct _SimpleProxyableCommandClass { PageCommandClass parent_class; void (*execute_on_source) (SimpleProxyableCommand* self, DataSource* source); void (*undo_on_source) (SimpleProxyableCommand* self, DataSource* source); }; struct _SimpleProxyableCommandPrivate { SourceProxy* proxy; GeeHashSet* proxies; }; struct _ProxyableIface { GTypeInterface parent_iface; SourceProxy* (*get_proxy) (Proxyable* self); }; struct _SinglePhotoTransformationCommand { SingleDataSourceCommand parent_instance; SinglePhotoTransformationCommandPrivate * priv; }; struct _SinglePhotoTransformationCommandClass { SingleDataSourceCommandClass parent_class; }; struct _SinglePhotoTransformationCommandPrivate { PhotoTransformationState* state; }; struct _GenericPhotoTransformationCommand { SingleDataSourceCommand parent_instance; GenericPhotoTransformationCommandPrivate * priv; }; struct _GenericPhotoTransformationCommandClass { SingleDataSourceCommandClass parent_class; void (*execute_on_photo) (GenericPhotoTransformationCommand* self, Photo* photo); gboolean (*can_compress) (GenericPhotoTransformationCommand* self, Command* command); }; struct _GenericPhotoTransformationCommandPrivate { PhotoTransformationState* original_state; PhotoTransformationState* transformed_state; }; struct _MultipleDataSourceCommand { PageCommand parent_instance; MultipleDataSourceCommandPrivate * priv; GeeArrayList* source_list; }; struct _MultipleDataSourceCommandClass { PageCommandClass parent_class; void (*execute_on_source) (MultipleDataSourceCommand* self, DataSource* source); void (*undo_on_source) (MultipleDataSourceCommand* self, DataSource* source); }; struct _MultipleDataSourceCommandPrivate { gchar* progress_text; gchar* undo_progress_text; GeeArrayList* acted_upon; GeeHashSet* hooked_collections; }; struct _MultipleDataSourceAtOnceCommand { PageCommand parent_instance; MultipleDataSourceAtOnceCommandPrivate * priv; }; struct _MultipleDataSourceAtOnceCommandClass { PageCommandClass parent_class; void (*execute_on_all) (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources); void (*undo_on_all) (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources); }; struct _MultipleDataSourceAtOnceCommandPrivate { GeeHashSet* sources; GeeHashSet* hooked_collections; }; typedef enum { DATABASE_ERROR_ERROR, DATABASE_ERROR_BACKING, DATABASE_ERROR_MEMORY, DATABASE_ERROR_ABORT, DATABASE_ERROR_LIMITS, DATABASE_ERROR_TYPESPEC } DatabaseError; #define DATABASE_ERROR database_error_quark () struct _MultiplePhotoTransformationCommand { MultipleDataSourceCommand parent_instance; MultiplePhotoTransformationCommandPrivate * priv; }; struct _MultiplePhotoTransformationCommandClass { MultipleDataSourceCommandClass parent_class; }; struct _MultiplePhotoTransformationCommandPrivate { GeeHashMap* map; }; struct _RotateSingleCommand { SingleDataSourceCommand parent_instance; RotateSingleCommandPrivate * priv; }; struct _RotateSingleCommandClass { SingleDataSourceCommandClass parent_class; }; typedef enum { ROTATION_CLOCKWISE, ROTATION_COUNTERCLOCKWISE, ROTATION_MIRROR, ROTATION_UPSIDE_DOWN } Rotation; struct _RotateSingleCommandPrivate { Rotation rotation; }; struct _RotateMultipleCommand { MultipleDataSourceCommand parent_instance; RotateMultipleCommandPrivate * priv; }; struct _RotateMultipleCommandClass { MultipleDataSourceCommandClass parent_class; }; struct _RotateMultipleCommandPrivate { Rotation rotation; }; struct _EditTitleCommand { SingleDataSourceCommand parent_instance; EditTitleCommandPrivate * priv; }; struct _EditTitleCommandClass { SingleDataSourceCommandClass parent_class; }; struct _EditTitleCommandPrivate { gchar* new_title; gchar* old_title; }; struct _EditCommentCommand { SingleDataSourceCommand parent_instance; EditCommentCommandPrivate * priv; }; struct _EditCommentCommandClass { SingleDataSourceCommandClass parent_class; }; struct _EditCommentCommandPrivate { gchar* new_comment; gchar* old_comment; }; struct _EditMultipleTitlesCommand { MultipleDataSourceAtOnceCommand parent_instance; EditMultipleTitlesCommandPrivate * priv; gchar* new_title; GeeHashMap* old_titles; }; struct _EditMultipleTitlesCommandClass { MultipleDataSourceAtOnceCommandClass parent_class; }; struct _EditMultipleCommentsCommand { MultipleDataSourceAtOnceCommand parent_instance; EditMultipleCommentsCommandPrivate * priv; gchar* new_comment; GeeHashMap* old_comments; }; struct _EditMultipleCommentsCommandClass { MultipleDataSourceAtOnceCommandClass parent_class; }; struct _RenameEventCommand { SimpleProxyableCommand parent_instance; RenameEventCommandPrivate * priv; }; struct _RenameEventCommandClass { SimpleProxyableCommandClass parent_class; }; struct _RenameEventCommandPrivate { gchar* new_name; gchar* old_name; }; struct _EditEventCommentCommand { SimpleProxyableCommand parent_instance; EditEventCommentCommandPrivate * priv; }; struct _EditEventCommentCommandClass { SimpleProxyableCommandClass parent_class; }; struct _EditEventCommentCommandPrivate { gchar* new_comment; gchar* old_comment; }; struct _SetKeyPhotoCommand { SingleDataSourceCommand parent_instance; SetKeyPhotoCommandPrivate * priv; }; struct _SetKeyPhotoCommandClass { SingleDataSourceCommandClass parent_class; }; struct _SetKeyPhotoCommandPrivate { MediaSource* new_primary_source; MediaSource* old_primary_source; }; struct _RevertSingleCommand { GenericPhotoTransformationCommand parent_instance; RevertSingleCommandPrivate * priv; }; struct _RevertSingleCommandClass { GenericPhotoTransformationCommandClass parent_class; }; struct _RevertMultipleCommand { MultiplePhotoTransformationCommand parent_instance; RevertMultipleCommandPrivate * priv; }; struct _RevertMultipleCommandClass { MultiplePhotoTransformationCommandClass parent_class; }; struct _EnhanceSingleCommand { GenericPhotoTransformationCommand parent_instance; EnhanceSingleCommandPrivate * priv; }; struct _EnhanceSingleCommandClass { GenericPhotoTransformationCommandClass parent_class; }; struct _EnhanceMultipleCommand { MultiplePhotoTransformationCommand parent_instance; EnhanceMultipleCommandPrivate * priv; }; struct _EnhanceMultipleCommandClass { MultiplePhotoTransformationCommandClass parent_class; }; struct _StraightenCommand { GenericPhotoTransformationCommand parent_instance; StraightenCommandPrivate * priv; }; struct _StraightenCommandClass { GenericPhotoTransformationCommandClass parent_class; }; struct _Box { gint left; gint top; gint right; gint bottom; }; struct _StraightenCommandPrivate { gdouble theta; Box crop; }; struct _CropCommand { GenericPhotoTransformationCommand parent_instance; CropCommandPrivate * priv; }; struct _CropCommandClass { GenericPhotoTransformationCommandClass parent_class; }; struct _CropCommandPrivate { Box crop; }; struct _AdjustColorsSingleCommand { GenericPhotoTransformationCommand parent_instance; AdjustColorsSingleCommandPrivate * priv; }; struct _AdjustColorsSingleCommandClass { GenericPhotoTransformationCommandClass parent_class; }; struct _AdjustColorsSingleCommandPrivate { PixelTransformationBundle* transformations; }; struct _AdjustColorsMultipleCommand { MultiplePhotoTransformationCommand parent_instance; AdjustColorsMultipleCommandPrivate * priv; }; struct _AdjustColorsMultipleCommandClass { MultiplePhotoTransformationCommandClass parent_class; }; struct _AdjustColorsMultipleCommandPrivate { PixelTransformationBundle* transformations; }; struct _RedeyeCommand { GenericPhotoTransformationCommand parent_instance; RedeyeCommandPrivate * priv; }; struct _RedeyeCommandClass { GenericPhotoTransformationCommandClass parent_class; }; struct _EditingToolsRedeyeInstance { GdkPoint center; gint radius; }; struct _RedeyeCommandPrivate { EditingToolsRedeyeInstance redeye_instance; }; struct _MovePhotosCommand { Command parent_instance; MovePhotosCommandPrivate * priv; MovePhotosCommandRealMovePhotosCommand* real_command; }; struct _MovePhotosCommandClass { CommandClass parent_class; }; struct _MovePhotosCommandRealMovePhotosCommand { MultipleDataSourceCommand parent_instance; MovePhotosCommandRealMovePhotosCommandPrivate * priv; }; struct _MovePhotosCommandRealMovePhotosCommandClass { MultipleDataSourceCommandClass parent_class; }; struct _MovePhotosCommandRealMovePhotosCommandPrivate { SourceProxy* new_event_proxy; GeeHashMap* old_events; }; struct _NewEventCommand { MovePhotosCommand parent_instance; NewEventCommandPrivate * priv; }; struct _NewEventCommandClass { MovePhotosCommandClass parent_class; }; struct _SetEventCommand { MovePhotosCommand parent_instance; SetEventCommandPrivate * priv; }; struct _SetEventCommandClass { MovePhotosCommandClass parent_class; }; struct _MergeEventsCommand { MovePhotosCommand parent_instance; MergeEventsCommandPrivate * priv; }; struct _MergeEventsCommandClass { MovePhotosCommandClass parent_class; }; struct _DuplicateMultiplePhotosCommand { MultipleDataSourceCommand parent_instance; DuplicateMultiplePhotosCommandPrivate * priv; }; struct _DuplicateMultiplePhotosCommandClass { MultipleDataSourceCommandClass parent_class; }; struct _DuplicateMultiplePhotosCommandPrivate { GeeHashMap* dupes; gint failed; }; 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 gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); struct _SetRatingSingleCommand { SingleDataSourceCommand parent_instance; SetRatingSingleCommandPrivate * priv; }; struct _SetRatingSingleCommandClass { SingleDataSourceCommandClass parent_class; }; 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 _SetRatingSingleCommandPrivate { Rating last_rating; Rating new_rating; gboolean set_direct; gboolean incrementing; }; struct _SetRatingCommand { MultipleDataSourceCommand parent_instance; SetRatingCommandPrivate * priv; }; struct _SetRatingCommandClass { MultipleDataSourceCommandClass parent_class; }; struct _SetRatingCommandPrivate { GeeHashMap* last_rating_map; Rating new_rating; gboolean set_direct; gboolean incrementing; gint action_count; }; struct _SetRawDeveloperCommand { MultipleDataSourceCommand parent_instance; SetRawDeveloperCommandPrivate * priv; }; struct _SetRawDeveloperCommandClass { MultipleDataSourceCommandClass parent_class; }; typedef enum { RAW_DEVELOPER_SHOTWELL = 0, RAW_DEVELOPER_CAMERA, RAW_DEVELOPER_EMBEDDED } RawDeveloper; struct _SetRawDeveloperCommandPrivate { GeeHashMap* last_developer_map; GeeHashMap* last_transformation_map; RawDeveloper new_developer; }; 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 _AdjustDateTimePhotoCommand { SingleDataSourceCommand parent_instance; AdjustDateTimePhotoCommandPrivate * priv; }; struct _AdjustDateTimePhotoCommandClass { SingleDataSourceCommandClass parent_class; }; struct _DateableIface { GTypeInterface parent_iface; void (*set_exposure_time) (Dateable* self, time_t target_time); time_t (*get_exposure_time) (Dateable* self); }; struct _AdjustDateTimePhotoCommandPrivate { Dateable* dateable; Event* prev_event; gint64 time_shift; gboolean modify_original; }; struct _AdjustDateTimePhotosCommand { MultipleDataSourceCommand parent_instance; AdjustDateTimePhotosCommandPrivate * priv; }; struct _AdjustDateTimePhotosCommandClass { MultipleDataSourceCommandClass parent_class; }; struct _AdjustDateTimePhotosCommandPrivate { gint64 time_shift; gboolean keep_relativity; gboolean modify_originals; GeeMap* prev_events; time_t* new_time; GeeHashMap* old_times; GeeArrayList* error_list; }; struct _AddTagsCommand { PageCommand parent_instance; AddTagsCommandPrivate * priv; }; struct _AddTagsCommandClass { PageCommandClass parent_class; }; struct _AddTagsCommandPrivate { GeeHashMap* map; }; struct _RenameTagCommand { SimpleProxyableCommand parent_instance; RenameTagCommandPrivate * priv; }; struct _RenameTagCommandClass { SimpleProxyableCommandClass parent_class; }; struct _RenameTagCommandPrivate { gchar* old_name; gchar* new_name; }; struct _DeleteTagCommand { SimpleProxyableCommand parent_instance; DeleteTagCommandPrivate * priv; }; struct _DeleteTagCommandClass { SimpleProxyableCommandClass parent_class; }; struct _DeleteTagCommandPrivate { GeeList* recursive_victim_proxies; }; struct _NewChildTagCommand { SimpleProxyableCommand parent_instance; NewChildTagCommandPrivate * priv; }; struct _NewChildTagCommandClass { SimpleProxyableCommandClass parent_class; }; struct _NewChildTagCommandPrivate { Tag* created_child; }; struct _NewRootTagCommand { PageCommand parent_instance; NewRootTagCommandPrivate * priv; }; struct _NewRootTagCommandClass { PageCommandClass parent_class; }; struct _NewRootTagCommandPrivate { SourceProxy* created_proxy; }; struct _ReparentTagCommand { PageCommand parent_instance; ReparentTagCommandPrivate * priv; }; struct _ReparentTagCommandClass { PageCommandClass parent_class; }; struct _ReparentTagCommandPrivate { gchar* from_path; gchar* to_path; gchar* to_path_parent_path; GeeList* src_before_state; GeeList* dest_before_state; GeeList* after_state; GeeHashSet* sources_in_play; GeeMap* dest_parent_attachments; GeeMap* src_parent_detachments; GeeMap* in_play_child_structure; GeeMap* existing_dest_child_structure; GeeSet* existing_dest_membership; gboolean to_path_exists; }; struct _ModifyTagsCommand { SingleDataSourceCommand parent_instance; ModifyTagsCommandPrivate * priv; }; struct _ModifyTagsCommandClass { SingleDataSourceCommandClass parent_class; }; struct _ModifyTagsCommandPrivate { MediaSource* media; GeeArrayList* to_add; GeeArrayList* to_remove; }; struct _TagUntagPhotosCommand { SimpleProxyableCommand parent_instance; TagUntagPhotosCommandPrivate * priv; }; struct _TagUntagPhotosCommandClass { SimpleProxyableCommandClass parent_class; }; struct _TagUntagPhotosCommandPrivate { GeeCollection* sources; gboolean attach; GeeMultiMap* detached_from; GeeList* attached_to; }; struct _RenameSavedSearchCommand { SingleDataSourceCommand parent_instance; RenameSavedSearchCommandPrivate * priv; }; struct _RenameSavedSearchCommandClass { SingleDataSourceCommandClass parent_class; }; struct _RenameSavedSearchCommandPrivate { SavedSearch* search; gchar* old_name; gchar* new_name; }; struct _DeleteSavedSearchCommand { SingleDataSourceCommand parent_instance; DeleteSavedSearchCommandPrivate * priv; }; struct _DeleteSavedSearchCommandClass { SingleDataSourceCommandClass parent_class; }; struct _DeleteSavedSearchCommandPrivate { SavedSearch* search; }; struct _TrashUntrashPhotosCommand { PageCommand parent_instance; TrashUntrashPhotosCommandPrivate * priv; }; struct _TrashUntrashPhotosCommandClass { PageCommandClass parent_class; }; struct _TrashUntrashPhotosCommandPrivate { GeeCollection* sources; gboolean to_trash; }; struct _FlagUnflagCommand { MultipleDataSourceAtOnceCommand parent_instance; FlagUnflagCommandPrivate * priv; }; struct _FlagUnflagCommandClass { MultipleDataSourceAtOnceCommandClass parent_class; }; struct _FlagUnflagCommandPrivate { gboolean flag; ProgressDialog* progress_dialog; }; struct _FlaggableIface { GTypeInterface parent_iface; gboolean (*is_flagged) (Flaggable* self); void (*mark_flagged) (Flaggable* self); void (*mark_unflagged) (Flaggable* self); }; static gpointer page_command_parent_class = NULL; static gpointer single_data_source_command_parent_class = NULL; static gpointer simple_proxyable_command_parent_class = NULL; static gpointer single_photo_transformation_command_parent_class = NULL; static gpointer generic_photo_transformation_command_parent_class = NULL; static gpointer multiple_data_source_command_parent_class = NULL; static gpointer multiple_data_source_at_once_command_parent_class = NULL; static gpointer multiple_photo_transformation_command_parent_class = NULL; static gpointer rotate_single_command_parent_class = NULL; static gpointer rotate_multiple_command_parent_class = NULL; static gpointer edit_title_command_parent_class = NULL; static gpointer edit_comment_command_parent_class = NULL; static gpointer edit_multiple_titles_command_parent_class = NULL; static gpointer edit_multiple_comments_command_parent_class = NULL; static gpointer rename_event_command_parent_class = NULL; static gpointer edit_event_comment_command_parent_class = NULL; static gpointer set_key_photo_command_parent_class = NULL; static gpointer revert_single_command_parent_class = NULL; static gpointer revert_multiple_command_parent_class = NULL; static gpointer enhance_single_command_parent_class = NULL; static gpointer enhance_multiple_command_parent_class = NULL; static gpointer straighten_command_parent_class = NULL; static gpointer crop_command_parent_class = NULL; static gpointer adjust_colors_single_command_parent_class = NULL; static gpointer adjust_colors_multiple_command_parent_class = NULL; static gpointer redeye_command_parent_class = NULL; static gpointer move_photos_command_parent_class = NULL; static gpointer move_photos_command_real_move_photos_command_parent_class = NULL; static gpointer new_event_command_parent_class = NULL; static gpointer set_event_command_parent_class = NULL; static gpointer merge_events_command_parent_class = NULL; static gpointer duplicate_multiple_photos_command_parent_class = NULL; extern LibraryPhotoSourceCollection* library_photo_global; static gpointer set_rating_single_command_parent_class = NULL; static gpointer set_rating_command_parent_class = NULL; static gpointer set_raw_developer_command_parent_class = NULL; static gpointer adjust_date_time_photo_command_parent_class = NULL; extern EventSourceCollection* event_global; static gpointer adjust_date_time_photos_command_parent_class = NULL; static gpointer add_tags_command_parent_class = NULL; extern VideoSourceCollection* video_global; static gpointer rename_tag_command_parent_class = NULL; static gpointer delete_tag_command_parent_class = NULL; extern TagSourceCollection* tag_global; static gpointer new_child_tag_command_parent_class = NULL; static gpointer new_root_tag_command_parent_class = NULL; static gpointer reparent_tag_command_parent_class = NULL; static gpointer modify_tags_command_parent_class = NULL; static gpointer tag_untag_photos_command_parent_class = NULL; static gpointer rename_saved_search_command_parent_class = NULL; static gpointer delete_saved_search_command_parent_class = NULL; static gpointer trash_untrash_photos_command_parent_class = NULL; static gpointer flag_unflag_command_parent_class = NULL; GType command_description_get_type (void) G_GNUC_CONST; GType command_get_type (void) G_GNUC_CONST; GType page_command_get_type (void) G_GNUC_CONST; GType page_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; GType checkerboard_page_get_type (void) G_GNUC_CONST; GType media_page_get_type (void) G_GNUC_CONST; GType collection_page_get_type (void) G_GNUC_CONST; #define PAGE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PAGE_COMMAND, PageCommandPrivate)) static void page_command_on_page_destroyed (PageCommand* self); static void _page_command_on_page_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self); static void page_command_on_photo_destroyed (PageCommand* self); static void _page_command_on_photo_destroyed_data_source_destroyed (DataSource* _sender, gpointer self); static void page_command_on_controller_destroyed (PageCommand* self); static void _page_command_on_controller_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self); PageCommand* page_command_construct (GType object_type, const gchar* name, const gchar* explanation); Command* command_construct (GType object_type, const gchar* name, const gchar* explanation); GType page_window_get_type (void) G_GNUC_CONST; GType app_window_get_type (void) G_GNUC_CONST; AppWindow* app_window_get_instance (void); Page* page_window_get_current_page (PageWindow* self); GType single_photo_page_get_type (void) G_GNUC_CONST; GType editing_host_page_get_type (void) G_GNUC_CONST; GType library_photo_page_get_type (void) G_GNUC_CONST; Photo* editing_host_page_get_photo (EditingHostPage* self); CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self); void page_command_set_auto_return_to_page (PageCommand* self, gboolean auto_return); static void page_command_real_prepare (Command* base); void page_command_return_to_page (PageCommand* self); void command_prepare (Command* self); gpointer data_collection_ref (gpointer instance); void data_collection_unref (gpointer instance); GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_data_collection (GValue* value, gpointer v_object); void value_take_data_collection (GValue* value, gpointer v_object); gpointer value_get_data_collection (const GValue* value); GType data_collection_get_type (void) G_GNUC_CONST; GType view_collection_get_type (void) G_GNUC_CONST; ViewCollection* page_get_view (Page* self); gint data_collection_get_count (DataCollection* self); DataObject* data_collection_get_at (DataCollection* self, gint index); GType data_view_get_type (void) G_GNUC_CONST; GType thumbnail_view_get_type (void) G_GNUC_CONST; GType checkerboard_item_get_type (void) G_GNUC_CONST; GType media_source_item_get_type (void) G_GNUC_CONST; GType thumbnail_get_type (void) G_GNUC_CONST; MediaSource* thumbnail_get_media_source (Thumbnail* self); GType library_window_get_type (void) G_GNUC_CONST; LibraryWindow* library_window_get_app (void); void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current); void page_window_set_current_page (PageWindow* self, Page* page); static void page_command_finalize (GObject * obj); GType single_data_source_command_get_type (void) G_GNUC_CONST; static void single_data_source_command_on_source_destroyed (SingleDataSourceCommand* self); static void _single_data_source_command_on_source_destroyed_data_source_destroyed (DataSource* _sender, gpointer self); SingleDataSourceCommand* single_data_source_command_construct (GType object_type, DataSource* source, const gchar* name, const gchar* explanation); DataSource* single_data_source_command_get_source (SingleDataSourceCommand* 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* command_get_command_manager (Command* self); void command_manager_reset (CommandManager* self); static void single_data_source_command_finalize (GObject * obj); GType simple_proxyable_command_get_type (void) G_GNUC_CONST; gpointer source_proxy_ref (gpointer instance); void source_proxy_unref (gpointer instance); GParamSpec* param_spec_source_proxy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_source_proxy (GValue* value, gpointer v_object); void value_take_source_proxy (GValue* value, gpointer v_object); gpointer value_get_source_proxy (const GValue* value); GType source_proxy_get_type (void) G_GNUC_CONST; #define SIMPLE_PROXYABLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandPrivate)) static void simple_proxyable_command_on_proxy_broken (SimpleProxyableCommand* self); static void _simple_proxyable_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self); void simple_proxyable_command_clear_added_proxies (SimpleProxyableCommand* self); GType proxyable_get_type (void) G_GNUC_CONST; SimpleProxyableCommand* simple_proxyable_command_construct (GType object_type, Proxyable* proxyable, const gchar* name, const gchar* explanation); SourceProxy* proxyable_get_proxy (Proxyable* self); static void simple_proxyable_command_real_execute (Command* base); void simple_proxyable_command_execute_on_source (SimpleProxyableCommand* self, DataSource* source); DataSource* source_proxy_get_source (SourceProxy* self); static void simple_proxyable_command_real_execute_on_source (SimpleProxyableCommand* self, DataSource* source); static void simple_proxyable_command_real_undo (Command* base); void simple_proxyable_command_undo_on_source (SimpleProxyableCommand* self, DataSource* source); static void simple_proxyable_command_real_undo_on_source (SimpleProxyableCommand* self, DataSource* source); void simple_proxyable_command_add_proxyables (SimpleProxyableCommand* self, GeeCollection* proxyables); static void simple_proxyable_command_finalize (GObject * obj); GType single_photo_transformation_command_get_type (void) G_GNUC_CONST; GType photo_transformation_state_get_type (void) G_GNUC_CONST; #define SINGLE_PHOTO_TRANSFORMATION_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommandPrivate)) static void single_photo_transformation_command_on_state_broken (SinglePhotoTransformationCommand* self); static void _single_photo_transformation_command_on_state_broken_photo_transformation_state_broken (PhotoTransformationState* _sender, gpointer self); SinglePhotoTransformationCommand* single_photo_transformation_command_construct (GType object_type, Photo* photo, const gchar* name, const gchar* explanation); PhotoTransformationState* photo_save_transformation_state (Photo* self); static void single_photo_transformation_command_real_undo (Command* base); gboolean photo_load_transformation_state (Photo* self, PhotoTransformationState* state); static void single_photo_transformation_command_finalize (GObject * obj); GType generic_photo_transformation_command_get_type (void) G_GNUC_CONST; #define GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandPrivate)) static void generic_photo_transformation_command_on_state_broken (GenericPhotoTransformationCommand* self); static void _generic_photo_transformation_command_on_state_broken_photo_transformation_state_broken (PhotoTransformationState* _sender, gpointer self); GenericPhotoTransformationCommand* generic_photo_transformation_command_construct (GType object_type, Photo* photo, const gchar* name, const gchar* explanation); static void generic_photo_transformation_command_real_execute (Command* base); void generic_photo_transformation_command_execute_on_photo (GenericPhotoTransformationCommand* self, Photo* photo); static void generic_photo_transformation_command_real_execute_on_photo (GenericPhotoTransformationCommand* self, Photo* photo); static void generic_photo_transformation_command_real_undo (Command* base); static void generic_photo_transformation_command_real_redo (Command* base); gboolean generic_photo_transformation_command_can_compress (GenericPhotoTransformationCommand* self, Command* command); static gboolean generic_photo_transformation_command_real_can_compress (GenericPhotoTransformationCommand* self, Command* command); static gboolean generic_photo_transformation_command_real_compress (Command* base, Command* command); void command_execute (Command* self); static void generic_photo_transformation_command_finalize (GObject * obj); GType multiple_data_source_command_get_type (void) G_GNUC_CONST; GType source_collection_get_type (void) G_GNUC_CONST; #define MULTIPLE_DATA_SOURCE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandPrivate)) static void multiple_data_source_command_on_source_destroyed (MultipleDataSourceCommand* self, DataSource* source); static void _multiple_data_source_command_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); #define MULTIPLE_DATA_SOURCE_COMMAND_MIN_OPS_FOR_PROGRESS_WINDOW 5 MultipleDataSourceCommand* multiple_data_source_command_construct (GType object_type, GeeIterable* iter, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation); DataSource* data_view_get_source (DataView* self); DataCollection* data_object_get_membership (DataObject* self); GeeIterable* multiple_data_source_command_get_sources (MultipleDataSourceCommand* self); gint multiple_data_source_command_get_source_count (MultipleDataSourceCommand* self); static void multiple_data_source_command_real_execute (Command* base); static void multiple_data_source_command_start_transaction (MultipleDataSourceCommand* self); static void multiple_data_source_command_execute_all (MultipleDataSourceCommand* self, gboolean exec, gboolean can_cancel, GeeArrayList* todo, GeeArrayList* completed); static void multiple_data_source_command_commit_transaction (MultipleDataSourceCommand* self); void multiple_data_source_command_execute_on_source (MultipleDataSourceCommand* self, DataSource* source); static void multiple_data_source_command_real_execute_on_source (MultipleDataSourceCommand* self, DataSource* source); static void multiple_data_source_command_real_undo (Command* base); void multiple_data_source_command_undo_on_source (MultipleDataSourceCommand* self, DataSource* source); static void multiple_data_source_command_real_undo_on_source (MultipleDataSourceCommand* self, DataSource* source); GType database_source_collection_get_type (void) G_GNUC_CONST; GType media_source_collection_get_type (void) G_GNUC_CONST; gpointer transaction_controller_ref (gpointer instance); void transaction_controller_unref (gpointer instance); GParamSpec* param_spec_transaction_controller (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_transaction_controller (GValue* value, gpointer v_object); void value_take_transaction_controller (GValue* value, gpointer v_object); gpointer value_get_transaction_controller (const GValue* value); GType transaction_controller_get_type (void) G_GNUC_CONST; TransactionController* media_source_collection_get_transaction_controller (MediaSourceCollection* self); void transaction_controller_begin (TransactionController* self); void transaction_controller_commit (TransactionController* self); void page_window_set_busy_cursor (PageWindow* self); GType progress_dialog_get_type (void) G_GNUC_CONST; ProgressDialog* progress_dialog_new (GtkWindow* owner, const gchar* text, GCancellable* cancellable); ProgressDialog* progress_dialog_construct (GType object_type, GtkWindow* owner, const gchar* text, GCancellable* cancellable); void progress_dialog_set_fraction (ProgressDialog* self, gint current, gint total); void spin_event_loop (void); void progress_dialog_close (ProgressDialog* self); void page_window_set_normal_cursor (PageWindow* self); static void multiple_data_source_command_finalize (GObject * obj); GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST; #define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandPrivate)) static void multiple_data_source_at_once_command_on_sources_destroyed (MultipleDataSourceAtOnceCommand* self, GeeCollection* destroyed); static void _multiple_data_source_at_once_command_on_sources_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self); MultipleDataSourceAtOnceCommand* multiple_data_source_at_once_command_construct (GType object_type, GeeCollection* sources, const gchar* name, const gchar* explanation); static void multiple_data_source_at_once_command_real_execute (Command* base); void database_table_begin_transaction (void); gpointer media_collection_registry_ref (gpointer instance); void media_collection_registry_unref (gpointer instance); GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_media_collection_registry (GValue* value, gpointer v_object); void value_take_media_collection_registry (GValue* value, gpointer v_object); gpointer value_get_media_collection_registry (const GValue* value); GType media_collection_registry_get_type (void) G_GNUC_CONST; MediaCollectionRegistry* media_collection_registry_get_instance (void); void media_collection_registry_freeze_all (MediaCollectionRegistry* self); void multiple_data_source_at_once_command_execute_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources); void media_collection_registry_thaw_all (MediaCollectionRegistry* self); GQuark database_error_quark (void); void database_table_commit_transaction (GError** error); void app_window_database_error (GError* err); static void multiple_data_source_at_once_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources); static void multiple_data_source_at_once_command_real_undo (Command* base); void multiple_data_source_at_once_command_undo_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources); static void multiple_data_source_at_once_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources); static void multiple_data_source_at_once_command_finalize (GObject * obj); GType multiple_photo_transformation_command_get_type (void) G_GNUC_CONST; #define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandPrivate)) static void multiple_photo_transformation_command_on_state_broken (MultiplePhotoTransformationCommand* self); static void _multiple_photo_transformation_command_on_state_broken_photo_transformation_state_broken (PhotoTransformationState* _sender, gpointer self); MultiplePhotoTransformationCommand* multiple_photo_transformation_command_construct (GType object_type, GeeIterable* iter, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation); static void multiple_photo_transformation_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); static void multiple_photo_transformation_command_finalize (GObject * obj); GType rotate_single_command_get_type (void) G_GNUC_CONST; GType rotation_get_type (void) G_GNUC_CONST; #define ROTATE_SINGLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandPrivate)) 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); static void rotate_single_command_real_execute (Command* base); void photo_rotate (Photo* self, Rotation rotation); static void rotate_single_command_real_undo (Command* base); Rotation rotation_opposite (Rotation self); static void rotate_single_command_finalize (GObject * obj); GType rotate_multiple_command_get_type (void) G_GNUC_CONST; #define ROTATE_MULTIPLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandPrivate)) RotateMultipleCommand* rotate_multiple_command_new (GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text); RotateMultipleCommand* rotate_multiple_command_construct (GType object_type, GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text); static void rotate_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); static void rotate_multiple_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); static void rotate_multiple_command_finalize (GObject * obj); GType edit_title_command_get_type (void) G_GNUC_CONST; #define EDIT_TITLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandPrivate)) 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); #define RESOURCES_EDIT_TITLE_LABEL NC_ ("Button Label", "Edit Title") gchar* media_source_get_title (MediaSource* self); static void edit_title_command_real_execute (Command* base); void media_source_set_title (MediaSource* self, const gchar* title); static void edit_title_command_real_undo (Command* base); static void edit_title_command_finalize (GObject * obj); GType edit_comment_command_get_type (void) G_GNUC_CONST; #define EDIT_COMMENT_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandPrivate)) 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); #define RESOURCES_EDIT_COMMENT_LABEL _ ("Edit Comment") gchar* media_source_get_comment (MediaSource* self); static void edit_comment_command_real_execute (Command* base); gboolean media_source_set_comment (MediaSource* self, const gchar* comment); static void edit_comment_command_real_undo (Command* base); static void edit_comment_command_finalize (GObject * obj); GType edit_multiple_titles_command_get_type (void) G_GNUC_CONST; EditMultipleTitlesCommand* edit_multiple_titles_command_new (GeeCollection* media_sources, const gchar* new_title); EditMultipleTitlesCommand* edit_multiple_titles_command_construct (GType object_type, GeeCollection* media_sources, const gchar* new_title); static void edit_multiple_titles_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources); static void edit_multiple_titles_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources); static void edit_multiple_titles_command_finalize (GObject * obj); GType edit_multiple_comments_command_get_type (void) G_GNUC_CONST; EditMultipleCommentsCommand* edit_multiple_comments_command_new (GeeCollection* media_sources, const gchar* new_comment); EditMultipleCommentsCommand* edit_multiple_comments_command_construct (GType object_type, GeeCollection* media_sources, const gchar* new_comment); static void edit_multiple_comments_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources); static void edit_multiple_comments_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources); static void edit_multiple_comments_command_finalize (GObject * obj); GType rename_event_command_get_type (void) G_GNUC_CONST; #define RENAME_EVENT_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandPrivate)) GType event_source_get_type (void) G_GNUC_CONST; GType event_get_type (void) G_GNUC_CONST; RenameEventCommand* rename_event_command_new (Event* event, const gchar* new_name); RenameEventCommand* rename_event_command_construct (GType object_type, Event* event, const gchar* new_name); #define RESOURCES_RENAME_EVENT_LABEL _ ("Rename Event") gchar* event_get_raw_name (Event* self); static void rename_event_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source); gboolean event_rename (Event* self, const gchar* name); static void rename_event_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source); static void rename_event_command_finalize (GObject * obj); GType edit_event_comment_command_get_type (void) G_GNUC_CONST; #define EDIT_EVENT_COMMENT_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandPrivate)) EditEventCommentCommand* edit_event_comment_command_new (Event* event, const gchar* new_comment); EditEventCommentCommand* edit_event_comment_command_construct (GType object_type, Event* event, const gchar* new_comment); gchar* event_source_get_comment (EventSource* self); static void edit_event_comment_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source); gboolean event_source_set_comment (EventSource* self, const gchar* comment); static void edit_event_comment_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source); static void edit_event_comment_command_finalize (GObject * obj); GType set_key_photo_command_get_type (void) G_GNUC_CONST; #define SET_KEY_PHOTO_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommandPrivate)) SetKeyPhotoCommand* set_key_photo_command_new (Event* event, MediaSource* new_primary_source); SetKeyPhotoCommand* set_key_photo_command_construct (GType object_type, Event* event, MediaSource* new_primary_source); #define RESOURCES_MAKE_KEY_PHOTO_LABEL _ ("Make Key Photo for Event") MediaSource* event_get_primary_source (Event* self); static void set_key_photo_command_real_execute (Command* base); gboolean event_set_primary_source (Event* self, MediaSource* source); static void set_key_photo_command_real_undo (Command* base); static void set_key_photo_command_finalize (GObject * obj); 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); #define RESOURCES_REVERT_LABEL _ ("Revert to Original") static void revert_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo); void photo_remove_all_transformations (Photo* self); static gboolean revert_single_command_real_compress (Command* base, Command* command); GType revert_multiple_command_get_type (void) G_GNUC_CONST; RevertMultipleCommand* revert_multiple_command_new (GeeIterable* iter); RevertMultipleCommand* revert_multiple_command_construct (GType object_type, GeeIterable* iter); static void revert_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); 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); #define RESOURCES_ENHANCE_LABEL _ ("Enhance") #define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo’s appearance") static void enhance_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo); gboolean photo_enhance (Photo* self); static gboolean enhance_single_command_real_compress (Command* base, Command* command); GType enhance_multiple_command_get_type (void) G_GNUC_CONST; EnhanceMultipleCommand* enhance_multiple_command_new (GeeIterable* iter); EnhanceMultipleCommand* enhance_multiple_command_construct (GType object_type, GeeIterable* iter); static void enhance_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); GType straighten_command_get_type (void) G_GNUC_CONST; GType box_get_type (void) G_GNUC_CONST; Box* box_dup (const Box* self); void box_free (Box* self); #define STRAIGHTEN_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_STRAIGHTEN_COMMAND, StraightenCommandPrivate)) StraightenCommand* straighten_command_new (Photo* photo, gdouble theta, Box* crop, const gchar* name, const gchar* explanation); StraightenCommand* straighten_command_construct (GType object_type, Photo* photo, gdouble theta, Box* crop, const gchar* name, const gchar* explanation); static void straighten_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo); void data_collection_freeze_notifications (DataCollection* self); void photo_set_straighten (Photo* self, gdouble theta); void photo_set_crop (Photo* self, Box* crop); void data_collection_thaw_notifications (DataCollection* self); static void straighten_command_finalize (GObject * obj); GType crop_command_get_type (void) G_GNUC_CONST; #define CROP_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CROP_COMMAND, CropCommandPrivate)) CropCommand* crop_command_new (Photo* photo, Box* crop, const gchar* name, const gchar* explanation); CropCommand* crop_command_construct (GType object_type, Photo* photo, Box* crop, const gchar* name, const gchar* explanation); static void crop_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo); static void crop_command_finalize (GObject * obj); GType adjust_colors_single_command_get_type (void) G_GNUC_CONST; #define ADJUST_COLORS_SINGLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandPrivate)) 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 adjust_colors_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo); void photo_set_color_adjustments (Photo* self, PixelTransformationBundle* new_adjustments); static gboolean adjust_colors_single_command_real_can_compress (GenericPhotoTransformationCommand* base, Command* command); static void adjust_colors_single_command_finalize (GObject * obj); GType adjust_colors_multiple_command_get_type (void) G_GNUC_CONST; #define ADJUST_COLORS_MULTIPLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandPrivate)) AdjustColorsMultipleCommand* adjust_colors_multiple_command_new (GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation); AdjustColorsMultipleCommand* adjust_colors_multiple_command_construct (GType object_type, GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation); static void adjust_colors_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); static void adjust_colors_multiple_command_finalize (GObject * obj); GType redeye_command_get_type (void) G_GNUC_CONST; GType editing_tools_redeye_instance_get_type (void) G_GNUC_CONST; EditingToolsRedeyeInstance* editing_tools_redeye_instance_dup (const EditingToolsRedeyeInstance* self); void editing_tools_redeye_instance_free (EditingToolsRedeyeInstance* self); #define REDEYE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_REDEYE_COMMAND, RedeyeCommandPrivate)) RedeyeCommand* redeye_command_new (Photo* photo, EditingToolsRedeyeInstance* redeye_instance, const gchar* name, const gchar* explanation); RedeyeCommand* redeye_command_construct (GType object_type, Photo* photo, EditingToolsRedeyeInstance* redeye_instance, const gchar* name, const gchar* explanation); static void redeye_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo); void photo_add_redeye_instance (Photo* self, EditingToolsRedeyeInstance* redeye); static void redeye_command_finalize (GObject * obj); GType move_photos_command_get_type (void) G_GNUC_CONST; GType move_photos_command_real_move_photos_command_get_type (void) G_GNUC_CONST; MovePhotosCommand* move_photos_command_construct (GType object_type, const gchar* name, const gchar* explanation); static void move_photos_command_real_prepare (Command* base); static void move_photos_command_real_execute (Command* base); static void move_photos_command_real_undo (Command* base); void command_undo (Command* self); #define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommandPrivate)) static void move_photos_command_real_move_photos_command_on_proxy_broken (MovePhotosCommandRealMovePhotosCommand* self); static void _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self); MovePhotosCommandRealMovePhotosCommand* move_photos_command_real_move_photos_command_new (Event* new_event, GeeIterable* source_views, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation); MovePhotosCommandRealMovePhotosCommand* move_photos_command_real_move_photos_command_construct (GType object_type, Event* new_event, GeeIterable* source_views, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation); Event* media_source_get_event (MediaSource* self); static void move_photos_command_real_move_photos_command_real_execute (Command* base); GType event_page_get_type (void) G_GNUC_CONST; Event* event_page_get_event (EventPage* self); gint event_source_get_media_count (EventSource* self); void library_window_switch_to_event (LibraryWindow* self, Event* event); static void move_photos_command_real_move_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); gboolean media_source_set_event (MediaSource* self, Event* new_event); static void move_photos_command_real_move_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); static void move_photos_command_real_move_photos_command_finalize (GObject * obj); static void move_photos_command_finalize (GObject * obj); GType new_event_command_get_type (void) G_GNUC_CONST; NewEventCommand* new_event_command_new (GeeIterable* iter); NewEventCommand* new_event_command_construct (GType object_type, GeeIterable* iter); #define RESOURCES_NEW_EVENT_LABEL _ ("New Event") Event* event_create_empty_event (MediaSource* source); GType set_event_command_get_type (void) G_GNUC_CONST; SetEventCommand* set_event_command_new (GeeIterable* iter, Event* new_event); SetEventCommand* set_event_command_construct (GType object_type, GeeIterable* iter, Event* new_event); #define RESOURCES_SET_PHOTO_EVENT_LABEL _ ("Move Photos") #define RESOURCES_SET_PHOTO_EVENT_TOOLTIP _ ("Move photos to an event") GType merge_events_command_get_type (void) G_GNUC_CONST; MergeEventsCommand* merge_events_command_new (GeeIterable* iter); MergeEventsCommand* merge_events_command_construct (GType object_type, GeeIterable* iter); #define RESOURCES_MERGE_LABEL _ ("Merge") gboolean event_has_name (Event* self); GeeCollection* event_source_get_media (EventSource* self); ThumbnailView* thumbnail_view_new (ThumbnailSource* source); ThumbnailView* thumbnail_view_construct (GType object_type, ThumbnailSource* source); GType duplicate_multiple_photos_command_get_type (void) G_GNUC_CONST; GType library_photo_get_type (void) G_GNUC_CONST; #define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandPrivate)) GType library_photo_source_collection_get_type (void) G_GNUC_CONST; static void duplicate_multiple_photos_command_on_photo_destroyed (DuplicateMultiplePhotosCommand* self, DataSource* source); static void _duplicate_multiple_photos_command_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_new (GeeIterable* iter); DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_construct (GType object_type, GeeIterable* iter); #define RESOURCES_DUPLICATE_PHOTO_LABEL _ ("Duplicate") #define RESOURCES_DUPLICATE_PHOTO_TOOLTIP _ ("Make a duplicate of the photo") static void duplicate_multiple_photos_command_real_execute (Command* base); void app_window_error_message (const gchar* message, GtkWindow* parent); static void duplicate_multiple_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); LibraryPhoto* library_photo_duplicate (LibraryPhoto* self, GError** error); GFile* media_source_get_file (MediaSource* self); static void duplicate_multiple_photos_command_real_undo (Command* base); static void duplicate_multiple_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); GType marker_get_type (void) G_GNUC_CONST; Marker* data_collection_mark (DataCollection* self, DataObject* object); gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); static void duplicate_multiple_photos_command_finalize (GObject * obj); GType set_rating_single_command_get_type (void) G_GNUC_CONST; GType rating_get_type (void) G_GNUC_CONST; #define SET_RATING_SINGLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommandPrivate)) SetRatingSingleCommand* set_rating_single_command_new (DataSource* source, Rating rating); SetRatingSingleCommand* set_rating_single_command_construct (GType object_type, DataSource* source, Rating rating); const gchar* resources_rating_label (Rating rating); Rating media_source_get_rating (MediaSource* self); 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); #define RESOURCES_INCREASE_RATING_LABEL _ ("Increase Rating") #define RESOURCES_DECREASE_RATING_LABEL _ ("Decrease Rating") static void set_rating_single_command_real_execute (Command* base); void media_source_set_rating (MediaSource* self, Rating rating); void media_source_increase_rating (MediaSource* self); void media_source_decrease_rating (MediaSource* self); static void set_rating_single_command_real_undo (Command* base); static void set_rating_single_command_finalize (GObject * obj); GType set_rating_command_get_type (void) G_GNUC_CONST; #define SET_RATING_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SET_RATING_COMMAND, SetRatingCommandPrivate)) SetRatingCommand* set_rating_command_new (GeeIterable* iter, Rating rating); SetRatingCommand* set_rating_command_construct (GType object_type, GeeIterable* iter, Rating rating); gchar* resources_rating_progress (Rating rating); static void set_rating_command_save_source_states (SetRatingCommand* self, GeeIterable* iter); SetRatingCommand* set_rating_command_new_inc_dec (GeeIterable* iter, gboolean is_incrementing); SetRatingCommand* set_rating_command_construct_inc_dec (GType object_type, GeeIterable* iter, gboolean is_incrementing); static void set_rating_command_real_execute (Command* base); static void set_rating_command_real_undo (Command* base); static void set_rating_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); static void set_rating_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); static void set_rating_command_finalize (GObject * obj); GType set_raw_developer_command_get_type (void) G_GNUC_CONST; GType raw_developer_get_type (void) G_GNUC_CONST; #define SET_RAW_DEVELOPER_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandPrivate)) SetRawDeveloperCommand* set_raw_developer_command_new (GeeIterable* iter, RawDeveloper developer); SetRawDeveloperCommand* set_raw_developer_command_construct (GType object_type, GeeIterable* iter, RawDeveloper developer); static void set_raw_developer_command_save_source_states (SetRawDeveloperCommand* self, GeeIterable* iter); static gboolean set_raw_developer_command_is_raw_photo (SetRawDeveloperCommand* self, Photo* photo); RawDeveloper photo_get_raw_developer (Photo* self); static void set_raw_developer_command_real_execute (Command* base); static void set_raw_developer_command_real_undo (Command* base); static void set_raw_developer_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); void photo_set_raw_developer (Photo* self, RawDeveloper d, gboolean notify); static void set_raw_developer_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); GType photo_file_format_get_type (void) G_GNUC_CONST; PhotoFileFormat photo_get_master_file_format (Photo* self); static void set_raw_developer_command_finalize (GObject * obj); GType adjust_date_time_photo_command_get_type (void) G_GNUC_CONST; GType dateable_get_type (void) G_GNUC_CONST; #define ADJUST_DATE_TIME_PHOTO_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandPrivate)) 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); #define RESOURCES_ADJUST_DATE_TIME_LABEL _ ("Adjust Date and Time") static void adjust_date_time_photo_command_real_execute (Command* base); static void adjust_date_time_photo_command_set_time (AdjustDateTimePhotoCommand* self, Dateable* dateable, time_t exposure_time); time_t dateable_get_exposure_time (Dateable* self); ViewCollection* view_collection_new (const gchar* name); ViewCollection* view_collection_construct (GType object_type, const gchar* name); GType container_source_collection_get_type (void) G_GNUC_CONST; GType event_source_collection_get_type (void) G_GNUC_CONST; GeeCollection* data_collection_get_all (DataCollection* self); gboolean data_collection_add (DataCollection* self, DataObject* object); EventView* event_view_new (EventSource* source); EventView* event_view_construct (GType object_type, EventSource* source); GType event_view_get_type (void) G_GNUC_CONST; void event_generate_single_event (MediaSource* media, ViewCollection* events_so_far, const gchar* event_name); static void adjust_date_time_photo_command_real_undo (Command* base); void photo_set_exposure_time_persistent (Photo* self, time_t time, GError** error); void dateable_set_exposure_time (Dateable* self, time_t target_time); static void adjust_date_time_photo_command_finalize (GObject * obj); GType adjust_date_time_photos_command_get_type (void) G_GNUC_CONST; #define ADJUST_DATE_TIME_PHOTOS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandPrivate)) AdjustDateTimePhotosCommand* adjust_date_time_photos_command_new (GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals); AdjustDateTimePhotosCommand* adjust_date_time_photos_command_construct (GType object_type, GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals); static time_t* _time_t_dup (time_t* self); static void adjust_date_time_photos_command_real_execute (Command* base); void multiple_object_error_dialog (GeeArrayList* objects, const gchar* message, const gchar* title); static void adjust_date_time_photos_command_real_undo (Command* base); static void adjust_date_time_photos_command_set_time (AdjustDateTimePhotosCommand* self, Dateable* dateable, time_t exposure_time); static void adjust_date_time_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source); static void adjust_date_time_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source); static void adjust_date_time_photos_command_finalize (GObject * obj); GType add_tags_command_get_type (void) G_GNUC_CONST; #define ADD_TAGS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADD_TAGS_COMMAND, AddTagsCommandPrivate)) static void add_tags_command_on_proxy_broken (AddTagsCommand* self); static void _add_tags_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self); static void add_tags_command_on_source_destroyed (AddTagsCommand* self, DataSource* source); static void _add_tags_command_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); GType video_source_collection_get_type (void) G_GNUC_CONST; 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); gchar* resources_add_tags_label (gchar** names, int names_length1); GeeList* hierarchical_tag_utilities_enumerate_parent_paths (const gchar* in_path); GType tag_get_type (void) G_GNUC_CONST; Tag* tag_for_path (const gchar* name); gboolean tag_contains (Tag* self, MediaSource* source); static void add_tags_command_real_execute (Command* base); void tag_attach_many (Tag* self, GeeCollection* sources); static void add_tags_command_real_undo (Command* base); GeeMultiMap* tag_detach_many (Tag* self, GeeCollection* sources); static void add_tags_command_finalize (GObject * obj); GType rename_tag_command_get_type (void) G_GNUC_CONST; #define RENAME_TAG_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RENAME_TAG_COMMAND, RenameTagCommandPrivate)) RenameTagCommand* rename_tag_command_new (Tag* tag, const gchar* new_name); RenameTagCommand* rename_tag_command_construct (GType object_type, Tag* tag, const gchar* new_name); gchar* resources_rename_tag_label (const gchar* old_name, const gchar* new_name); gchar* tag_get_user_visible_name (Tag* self); gchar* data_object_get_name (DataObject* self); static void rename_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source); gboolean tag_rename (Tag* self, const gchar* name); gchar* resources_rename_tag_exists_message (const gchar* name); static void rename_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source); static void rename_tag_command_finalize (GObject * obj); GType delete_tag_command_get_type (void) G_GNUC_CONST; #define DELETE_TAG_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DELETE_TAG_COMMAND, DeleteTagCommandPrivate)) DeleteTagCommand* delete_tag_command_new (Tag* tag); DeleteTagCommand* delete_tag_command_construct (GType object_type, Tag* tag); gchar* resources_delete_tag_label (const gchar* name); static void delete_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source); GeeList* tag_get_hierarchical_children (Tag* self); static void delete_tag_command_on_proxy_broken (DeleteTagCommand* self); static void _delete_tag_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self); GType tag_source_collection_get_type (void) G_GNUC_CONST; static void delete_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source); static void delete_tag_command_finalize (GObject * obj); GType new_child_tag_command_get_type (void) G_GNUC_CONST; #define NEW_CHILD_TAG_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommandPrivate)) NewChildTagCommand* new_child_tag_command_new (Tag* tag); NewChildTagCommand* new_child_tag_command_construct (GType object_type, Tag* tag); static void new_child_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source); Tag* tag_create_new_child (Tag* self); static void new_child_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source); Tag* new_child_tag_command_get_created_child (NewChildTagCommand* self); static void new_child_tag_command_finalize (GObject * obj); GType new_root_tag_command_get_type (void) G_GNUC_CONST; #define NEW_ROOT_TAG_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommandPrivate)) NewRootTagCommand* new_root_tag_command_new (void); NewRootTagCommand* new_root_tag_command_construct (GType object_type); static void new_root_tag_command_real_execute (Command* base); Tag* tag_create_new_root (void); static void new_root_tag_command_real_undo (Command* base); Tag* new_root_tag_command_get_created_tag (NewRootTagCommand* self); static void new_root_tag_command_finalize (GObject * obj); GType reparent_tag_command_get_type (void) G_GNUC_CONST; #define REPARENT_TAG_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommandPrivate)) static void reparent_tag_command_on_items_destroyed (ReparentTagCommand* self, GeeCollection* destroyed); static void _reparent_tag_command_on_items_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self); ReparentTagCommand* reparent_tag_command_new (Tag* tag, const gchar* new_parent_path); ReparentTagCommand* reparent_tag_command_construct (GType object_type, Tag* tag, const gchar* new_parent_path); gchar* tag_get_path (Tag* self); #define TAG_PATH_SEPARATOR_STRING "/" gchar* hierarchical_tag_utilities_get_root_path_form (const gchar* client_path); gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); GeeCollection* tag_get_sources (Tag* self); static GeeMap* reparent_tag_command_get_child_structure_at (ReparentTagCommand* self, const gchar* client_path); static void reparent_tag_command_restore_child_attachments_at (ReparentTagCommand* self, const gchar* client_path, GeeMap* child_structure); void tag_promote (Tag* self); void tag_attach (Tag* self, MediaSource* source); static void reparent_tag_command_reattach_in_play_sources_at (ReparentTagCommand* self, const gchar* client_path); static void reparent_tag_command_save_before_state (ReparentTagCommand* self); static void reparent_tag_command_restore_before_state (ReparentTagCommand* self); GeeList* tag_detach (Tag* self, MediaSource* source); static void reparent_tag_command_save_after_state (ReparentTagCommand* self); static void reparent_tag_command_restore_after_state (ReparentTagCommand* self); static void reparent_tag_command_prepare_parent (ReparentTagCommand* self, const gchar* path); static void reparent_tag_command_do_source_parent_detachments (ReparentTagCommand* self); Tag* tag_get_hierarchical_parent (Tag* self); gint tag_get_attachment_count (Tag* self, MediaSource* source); static void reparent_tag_command_do_source_parent_reattachments (ReparentTagCommand* self); static void reparent_tag_command_do_destination_parent_detachments (ReparentTagCommand* self); static void reparent_tag_command_do_destination_parent_reattachments (ReparentTagCommand* self); static void reparent_tag_command_copy_subtree (ReparentTagCommand* self, const gchar* from, const gchar* to); static void reparent_tag_command_destroy_subtree (ReparentTagCommand* self, const gchar* client_path); static void reparent_tag_command_real_execute (Command* base); static void reparent_tag_command_real_undo (Command* base); void hierarchical_tag_utilities_cleanup_root_path (const gchar* path); static void reparent_tag_command_finalize (GObject * obj); GType modify_tags_command_get_type (void) G_GNUC_CONST; #define MODIFY_TAGS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandPrivate)) static void modify_tags_command_on_proxy_broken (ModifyTagsCommand* self); static void _modify_tags_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer 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); #define RESOURCES_MODIFY_TAGS_LABEL _ ("Modify Tags") GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); static void modify_tags_command_real_execute (Command* base); static void modify_tags_command_real_undo (Command* base); static void modify_tags_command_finalize (GObject * obj); GType tag_untag_photos_command_get_type (void) G_GNUC_CONST; #define TAG_UNTAG_PHOTOS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommandPrivate)) static void tag_untag_photos_command_on_source_destroyed (TagUntagPhotosCommand* self, DataSource* source); static void _tag_untag_photos_command_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); TagUntagPhotosCommand* tag_untag_photos_command_new (Tag* tag, GeeCollection* sources, gint count, gboolean attach); TagUntagPhotosCommand* tag_untag_photos_command_construct (GType object_type, Tag* tag, GeeCollection* sources, gint count, gboolean attach); gchar* resources_tag_photos_label (const gchar* name, gint count); gchar* resources_untag_photos_label (const gchar* name, gint count); static void tag_untag_photos_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source); static void tag_untag_photos_command_do_attach (TagUntagPhotosCommand* self, Tag* tag); static void tag_untag_photos_command_do_detach (TagUntagPhotosCommand* self, Tag* tag); static void tag_untag_photos_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source); gchar* data_object_to_string (DataObject* self); static void tag_untag_photos_command_finalize (GObject * obj); GType rename_saved_search_command_get_type (void) G_GNUC_CONST; GType saved_search_get_type (void) G_GNUC_CONST; #define RENAME_SAVED_SEARCH_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandPrivate)) RenameSavedSearchCommand* rename_saved_search_command_new (SavedSearch* search, const gchar* new_name); RenameSavedSearchCommand* rename_saved_search_command_construct (GType object_type, SavedSearch* search, const gchar* new_name); gchar* resources_rename_search_label (const gchar* old_name, const gchar* new_name); static void rename_saved_search_command_real_execute (Command* base); gboolean saved_search_rename (SavedSearch* self, const gchar* new_name); gchar* resources_rename_search_exists_message (const gchar* name); static void rename_saved_search_command_real_undo (Command* base); static void rename_saved_search_command_finalize (GObject * obj); GType delete_saved_search_command_get_type (void) G_GNUC_CONST; #define DELETE_SAVED_SEARCH_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandPrivate)) DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search); DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search); gchar* resources_delete_search_label (const gchar* name); static void delete_saved_search_command_real_execute (Command* base); gpointer saved_search_table_ref (gpointer instance); void saved_search_table_unref (gpointer instance); GParamSpec* param_spec_saved_search_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_saved_search_table (GValue* value, gpointer v_object); void value_take_saved_search_table (GValue* value, gpointer v_object); gpointer value_get_saved_search_table (const GValue* value); GType saved_search_table_get_type (void) G_GNUC_CONST; SavedSearchTable* saved_search_table_get_instance (void); void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search); static void delete_saved_search_command_real_undo (Command* base); void saved_search_reconstitute (SavedSearch* self); static void delete_saved_search_command_finalize (GObject * obj); GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST; #define TRASH_UNTRASH_PHOTOS_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandPrivate)) static void trash_untrash_photos_command_on_photo_destroyed (TrashUntrashPhotosCommand* self, DataSource* source); static void _trash_untrash_photos_command_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); 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); static ProgressDialog* trash_untrash_photos_command_get_progress_dialog (TrashUntrashPhotosCommand* self, gboolean to_trash); void progress_dialog_update_display_every (ProgressDialog* self, gint update_every); static void trash_untrash_photos_command_real_execute (Command* base); gboolean progress_dialog_monitor (ProgressDialog* self, guint64 count, guint64 total, gboolean do_event_loop); static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self); static void trash_untrash_photos_command_trash (TrashUntrashPhotosCommand* self, ProgressMonitor monitor, void* monitor_target); static void trash_untrash_photos_command_untrash (TrashUntrashPhotosCommand* self, ProgressMonitor monitor, void* monitor_target); static void trash_untrash_photos_command_real_undo (Command* base); void media_source_trash (MediaSource* self); void media_source_untrash (MediaSource* self); static void trash_untrash_photos_command_finalize (GObject * obj); GType flag_unflag_command_get_type (void) G_GNUC_CONST; #define FLAG_UNFLAG_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandPrivate)) #define FLAG_UNFLAG_COMMAND_MIN_PROGRESS_BAR_THRESHOLD 1000 #define FLAG_UNFLAG_COMMAND_FLAG_SELECTED_STRING _ ("Flag selected photos") #define FLAG_UNFLAG_COMMAND_UNFLAG_SELECTED_STRING _ ("Unflag selected photos") #define FLAG_UNFLAG_COMMAND_FLAG_PROGRESS _ ("Flagging selected photos") #define FLAG_UNFLAG_COMMAND_UNFLAG_PROGRESS _ ("Unflagging selected photos") FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag); FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag); static void flag_unflag_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources); static void flag_unflag_command_flag_unflag (FlagUnflagCommand* self, DataSource* source, gboolean flag); static void flag_unflag_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources); GType flaggable_get_type (void) G_GNUC_CONST; void flaggable_mark_flagged (Flaggable* self); void flaggable_mark_unflagged (Flaggable* self); static void flag_unflag_command_finalize (GObject * obj); static void _page_command_on_page_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self) { #line 45 "/home/jens/Source/shotwell/src/Commands.vala" page_command_on_page_destroyed ((PageCommand*) self); #line 3261 "Commands.c" } static void _page_command_on_photo_destroyed_data_source_destroyed (DataSource* _sender, gpointer self) { #line 48 "/home/jens/Source/shotwell/src/Commands.vala" page_command_on_photo_destroyed ((PageCommand*) self); #line 3271 "Commands.c" } static void _page_command_on_controller_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self) { #line 51 "/home/jens/Source/shotwell/src/Commands.vala" page_command_on_controller_destroyed ((PageCommand*) self); #line 3281 "Commands.c" } static gpointer _g_object_ref0 (gpointer self) { #line 27 "/home/jens/Source/shotwell/src/Commands.vala" return self ? g_object_ref (self) : NULL; #line 3290 "Commands.c" } PageCommand* page_command_construct (GType object_type, const gchar* name, const gchar* explanation) { PageCommand * self = NULL; AppWindow* _tmp0_; AppWindow* _tmp1_; Page* _tmp2_; Page* _tmp3_; #line 15 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 15 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 16 "/home/jens/Source/shotwell/src/Commands.vala" self = (PageCommand*) command_construct (object_type, name, explanation); #line 18 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = app_window_get_instance (); #line 18 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 18 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 18 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->page); #line 18 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->page = _tmp2_; #line 18 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 20 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->page; #line 20 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != NULL) { #line 3326 "Commands.c" Page* _tmp4_; LibraryPhotoPage* photo_page = NULL; Page* _tmp5_; LibraryPhotoPage* _tmp6_; LibraryPhotoPage* _tmp7_; #line 21 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->page; #line 21 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), "destroy", (GCallback) _page_command_on_page_destroyed_gtk_widget_destroy, self, 0); #line 27 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->page; #line 27 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_LIBRARY_PHOTO_PAGE) ? ((LibraryPhotoPage*) _tmp5_) : NULL); #line 27 "/home/jens/Source/shotwell/src/Commands.vala" photo_page = _tmp6_; #line 28 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = photo_page; #line 28 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ != NULL) { #line 3346 "Commands.c" LibraryPhotoPage* _tmp8_; Photo* _tmp9_; LibraryPhotoPage* _tmp10_; CollectionPage* _tmp11_; gboolean _tmp12_ = FALSE; Photo* _tmp13_; #line 29 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = photo_page; #line 29 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_EDITING_HOST_PAGE, EditingHostPage)); #line 29 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->library_photo); #line 29 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->library_photo = _tmp9_; #line 30 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = photo_page; #line 30 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = library_photo_page_get_controller_page (_tmp10_); #line 30 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->collection_page); #line 30 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->collection_page = _tmp11_; #line 32 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->priv->library_photo; #line 32 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp13_ != NULL) { #line 3373 "Commands.c" CollectionPage* _tmp14_; #line 32 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = self->priv->collection_page; #line 32 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _tmp14_ != NULL; #line 3379 "Commands.c" } else { #line 32 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = FALSE; #line 3383 "Commands.c" } #line 32 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp12_) { #line 3387 "Commands.c" Photo* _tmp15_; CollectionPage* _tmp16_; #line 33 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = self->priv->library_photo; #line 33 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource), "destroyed", (GCallback) _page_command_on_photo_destroyed_data_source_destroyed, self, 0); #line 34 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = self->priv->collection_page; #line 34 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), "destroy", (GCallback) _page_command_on_controller_destroyed_gtk_widget_destroy, self, 0); #line 3398 "Commands.c" } else { #line 36 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->library_photo); #line 36 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->library_photo = NULL; #line 37 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->collection_page); #line 37 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->collection_page = NULL; #line 3408 "Commands.c" } } #line 20 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo_page); #line 3413 "Commands.c" } #line 15 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 3417 "Commands.c" } void page_command_set_auto_return_to_page (PageCommand* self, gboolean auto_return) { #line 54 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PAGE_COMMAND (self)); #line 55 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->auto_return = auto_return; #line 3429 "Commands.c" } static void page_command_real_prepare (Command* base) { PageCommand * self; gboolean _tmp0_; #line 58 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE_COMMAND, PageCommand); #line 59 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->auto_return; #line 59 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 60 "/home/jens/Source/shotwell/src/Commands.vala" page_command_return_to_page (self); #line 3446 "Commands.c" } #line 62 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (page_command_parent_class)->prepare (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 3450 "Commands.c" } void page_command_return_to_page (PageCommand* self) { LibraryPhotoPage* photo_page = NULL; Page* _tmp0_; LibraryPhotoPage* _tmp1_; LibraryPhotoPage* _tmp2_; #line 65 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PAGE_COMMAND (self)); #line 66 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->page; #line 66 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO_PAGE) ? ((LibraryPhotoPage*) _tmp0_) : NULL); #line 66 "/home/jens/Source/shotwell/src/Commands.vala" photo_page = _tmp1_; #line 68 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = photo_page; #line 68 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 3473 "Commands.c" gboolean _tmp3_ = FALSE; Photo* _tmp4_; #line 69 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->library_photo; #line 69 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp4_ != NULL) { #line 3480 "Commands.c" CollectionPage* _tmp5_; #line 69 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->collection_page; #line 69 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp5_ != NULL; #line 3486 "Commands.c" } else { #line 69 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = FALSE; #line 3490 "Commands.c" } #line 69 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_) { #line 3494 "Commands.c" gboolean photo_in_collection = FALSE; gint count = 0; CollectionPage* _tmp6_; ViewCollection* _tmp7_; ViewCollection* _tmp8_; gint _tmp9_; gboolean _tmp24_; #line 70 "/home/jens/Source/shotwell/src/Commands.vala" photo_in_collection = FALSE; #line 71 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->collection_page; #line 71 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE, Page)); #line 71 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 71 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection)); #line 71 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (_tmp8_); #line 71 "/home/jens/Source/shotwell/src/Commands.vala" count = _tmp9_; #line 3516 "Commands.c" { gint i = 0; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" i = 0; #line 3521 "Commands.c" { gboolean _tmp10_ = FALSE; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = TRUE; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 3528 "Commands.c" gint _tmp12_; gint _tmp13_; CollectionPage* _tmp14_; ViewCollection* _tmp15_; ViewCollection* _tmp16_; gint _tmp17_; DataObject* _tmp18_; Thumbnail* _tmp19_; MediaSource* _tmp20_; MediaSource* _tmp21_; Photo* _tmp22_; gboolean _tmp23_; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp10_) { #line 3543 "Commands.c" gint _tmp11_; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = i; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp11_ + 1; #line 3549 "Commands.c" } #line 72 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = FALSE; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = i; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = count; #line 72 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp12_ < _tmp13_)) { #line 72 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 3561 "Commands.c" } #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = self->priv->collection_page; #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PAGE, Page)); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _tmp15_; #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = i; #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_COLLECTION, DataCollection), _tmp17_); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_THUMBNAIL, Thumbnail); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = thumbnail_get_media_source (_tmp19_); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = self->priv->library_photo; #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _tmp21_ == G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_MEDIA_SOURCE, MediaSource); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp21_); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp19_); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (_tmp16_); #line 73 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp23_) { #line 74 "/home/jens/Source/shotwell/src/Commands.vala" photo_in_collection = TRUE; #line 75 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 3595 "Commands.c" } } } } #line 79 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = photo_in_collection; #line 79 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp24_) { #line 3604 "Commands.c" LibraryWindow* _tmp25_; LibraryWindow* _tmp26_; CollectionPage* _tmp27_; Photo* _tmp28_; #line 80 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = library_window_get_app (); #line 80 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = _tmp25_; #line 80 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = self->priv->collection_page; #line 80 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = self->priv->library_photo; #line 80 "/home/jens/Source/shotwell/src/Commands.vala" library_window_switch_to_photo_page (_tmp26_, _tmp27_, _tmp28_); #line 80 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp26_); #line 3621 "Commands.c" } } } else { Page* _tmp29_; #line 82 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = self->priv->page; #line 82 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp29_ != NULL) { #line 3630 "Commands.c" AppWindow* _tmp30_; AppWindow* _tmp31_; Page* _tmp32_; #line 83 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = app_window_get_instance (); #line 83 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = _tmp30_; #line 83 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = self->priv->page; #line 83 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_PAGE_WINDOW, PageWindow), _tmp32_); #line 83 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp31_); #line 3644 "Commands.c" } } #line 65 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo_page); #line 3649 "Commands.c" } static void page_command_on_page_destroyed (PageCommand* self) { Page* _tmp0_; guint _tmp1_; #line 86 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PAGE_COMMAND (self)); #line 87 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->page; #line 87 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroy", gtk_widget_get_type (), &_tmp1_, NULL, FALSE); #line 87 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _page_command_on_page_destroyed_gtk_widget_destroy, self); #line 88 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->page); #line 88 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->page = NULL; #line 3670 "Commands.c" } static void page_command_on_photo_destroyed (PageCommand* self) { Photo* _tmp0_; guint _tmp1_; #line 91 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PAGE_COMMAND (self)); #line 92 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->library_photo; #line 92 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroyed", TYPE_DATA_SOURCE, &_tmp1_, NULL, FALSE); #line 92 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _page_command_on_photo_destroyed_data_source_destroyed, self); #line 93 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->library_photo); #line 93 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->library_photo = NULL; #line 3691 "Commands.c" } static void page_command_on_controller_destroyed (PageCommand* self) { CollectionPage* _tmp0_; guint _tmp1_; #line 96 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PAGE_COMMAND (self)); #line 97 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->collection_page; #line 97 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroy", gtk_widget_get_type (), &_tmp1_, NULL, FALSE); #line 97 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _page_command_on_controller_destroyed_gtk_widget_destroy, self); #line 98 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->collection_page); #line 98 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->collection_page = NULL; #line 3712 "Commands.c" } static void page_command_class_init (PageCommandClass * klass) { #line 9 "/home/jens/Source/shotwell/src/Commands.vala" page_command_parent_class = g_type_class_peek_parent (klass); #line 9 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (PageCommandPrivate)); #line 9 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->prepare = (void (*) (Command *)) page_command_real_prepare; #line 9 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = page_command_finalize; #line 3727 "Commands.c" } static void page_command_instance_init (PageCommand * self) { #line 9 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = PAGE_COMMAND_GET_PRIVATE (self); #line 11 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->auto_return = TRUE; #line 12 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->library_photo = NULL; #line 13 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->collection_page = NULL; #line 3742 "Commands.c" } static void page_command_finalize (GObject * obj) { PageCommand * self; Page* _tmp0_; Photo* _tmp3_; CollectionPage* _tmp6_; #line 9 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PAGE_COMMAND, PageCommand); #line 44 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->page; #line 44 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ != NULL) { #line 3759 "Commands.c" Page* _tmp1_; guint _tmp2_; #line 45 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->page; #line 45 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroy", gtk_widget_get_type (), &_tmp2_, NULL, FALSE); #line 45 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _page_command_on_page_destroyed_gtk_widget_destroy, self); #line 3768 "Commands.c" } #line 47 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->library_photo; #line 47 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != NULL) { #line 3774 "Commands.c" Photo* _tmp4_; guint _tmp5_; #line 48 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->library_photo; #line 48 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroyed", TYPE_DATA_SOURCE, &_tmp5_, NULL, FALSE); #line 48 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _page_command_on_photo_destroyed_data_source_destroyed, self); #line 3783 "Commands.c" } #line 50 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->collection_page; #line 50 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp6_ != NULL) { #line 3789 "Commands.c" CollectionPage* _tmp7_; guint _tmp8_; #line 51 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->collection_page; #line 51 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroy", gtk_widget_get_type (), &_tmp8_, NULL, FALSE); #line 51 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _page_command_on_controller_destroyed_gtk_widget_destroy, self); #line 3798 "Commands.c" } #line 10 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->page); #line 12 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->library_photo); #line 13 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->collection_page); #line 9 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (page_command_parent_class)->finalize (obj); #line 3808 "Commands.c" } GType page_command_get_type (void) { static volatile gsize page_command_type_id__volatile = 0; if (g_once_init_enter (&page_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (PageCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) page_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PageCommand), 0, (GInstanceInitFunc) page_command_instance_init, NULL }; GType page_command_type_id; page_command_type_id = g_type_register_static (TYPE_COMMAND, "PageCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&page_command_type_id__volatile, page_command_type_id); } return page_command_type_id__volatile; } static void _single_data_source_command_on_source_destroyed_data_source_destroyed (DataSource* _sender, gpointer self) { #line 115 "/home/jens/Source/shotwell/src/Commands.vala" single_data_source_command_on_source_destroyed ((SingleDataSourceCommand*) self); #line 3832 "Commands.c" } SingleDataSourceCommand* single_data_source_command_construct (GType object_type, DataSource* source, const gchar* name, const gchar* explanation) { SingleDataSourceCommand * self = NULL; DataSource* _tmp0_; #line 106 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); #line 106 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 106 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 107 "/home/jens/Source/shotwell/src/Commands.vala" self = (SingleDataSourceCommand*) page_command_construct (object_type, name, explanation); #line 109 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (source); #line 109 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->source); #line 109 "/home/jens/Source/shotwell/src/Commands.vala" self->source = _tmp0_; #line 111 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (source, "destroyed", (GCallback) _single_data_source_command_on_source_destroyed_data_source_destroyed, self, 0); #line 106 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 3862 "Commands.c" } DataSource* single_data_source_command_get_source (SingleDataSourceCommand* self) { DataSource* result = NULL; DataSource* _tmp0_; DataSource* _tmp1_; #line 118 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_SINGLE_DATA_SOURCE_COMMAND (self), NULL); #line 119 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->source; #line 119 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 119 "/home/jens/Source/shotwell/src/Commands.vala" result = _tmp1_; #line 119 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 3882 "Commands.c" } static void single_data_source_command_on_source_destroyed (SingleDataSourceCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 122 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SINGLE_DATA_SOURCE_COMMAND (self)); #line 125 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 125 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 125 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 125 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 3901 "Commands.c" } static void single_data_source_command_class_init (SingleDataSourceCommandClass * klass) { #line 103 "/home/jens/Source/shotwell/src/Commands.vala" single_data_source_command_parent_class = g_type_class_peek_parent (klass); #line 103 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = single_data_source_command_finalize; #line 3912 "Commands.c" } static void single_data_source_command_instance_init (SingleDataSourceCommand * self) { } static void single_data_source_command_finalize (GObject * obj) { SingleDataSourceCommand * self; DataSource* _tmp0_; guint _tmp1_; #line 103 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand); #line 115 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->source; #line 115 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("destroyed", TYPE_DATA_SOURCE, &_tmp1_, NULL, FALSE); #line 115 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _single_data_source_command_on_source_destroyed_data_source_destroyed, self); #line 104 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->source); #line 103 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (single_data_source_command_parent_class)->finalize (obj); #line 3940 "Commands.c" } GType single_data_source_command_get_type (void) { static volatile gsize single_data_source_command_type_id__volatile = 0; if (g_once_init_enter (&single_data_source_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SingleDataSourceCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) single_data_source_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SingleDataSourceCommand), 0, (GInstanceInitFunc) single_data_source_command_instance_init, NULL }; GType single_data_source_command_type_id; single_data_source_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "SingleDataSourceCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&single_data_source_command_type_id__volatile, single_data_source_command_type_id); } return single_data_source_command_type_id__volatile; } static void _simple_proxyable_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self) { #line 141 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_on_proxy_broken ((SimpleProxyableCommand*) self); #line 3964 "Commands.c" } SimpleProxyableCommand* simple_proxyable_command_construct (GType object_type, Proxyable* proxyable, const gchar* name, const gchar* explanation) { SimpleProxyableCommand * self = NULL; SourceProxy* _tmp0_; SourceProxy* _tmp1_; #line 133 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PROXYABLE (proxyable), NULL); #line 133 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 133 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 134 "/home/jens/Source/shotwell/src/Commands.vala" self = (SimpleProxyableCommand*) page_command_construct (object_type, name, explanation); #line 136 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = proxyable_get_proxy (proxyable); #line 136 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (self->priv->proxy); #line 136 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->proxy = _tmp0_; #line 137 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->proxy; #line 137 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp1_, "broken", (GCallback) _simple_proxyable_command_on_proxy_broken_source_proxy_broken, self, 0); #line 133 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 3997 "Commands.c" } static void simple_proxyable_command_real_execute (Command* base) { SimpleProxyableCommand * self; SourceProxy* _tmp0_; DataSource* _tmp1_; DataSource* _tmp2_; #line 145 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand); #line 146 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->proxy; #line 146 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = source_proxy_get_source (_tmp0_); #line 146 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 146 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_execute_on_source (self, _tmp2_); #line 146 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp2_); #line 4020 "Commands.c" } static void simple_proxyable_command_real_execute_on_source (SimpleProxyableCommand* self, DataSource* source) { #line 149 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `simple_proxyable_command_execute_on_source'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 149 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 4032 "Commands.c" } void simple_proxyable_command_execute_on_source (SimpleProxyableCommand* self, DataSource* source) { #line 149 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SIMPLE_PROXYABLE_COMMAND (self)); #line 149 "/home/jens/Source/shotwell/src/Commands.vala" SIMPLE_PROXYABLE_COMMAND_GET_CLASS (self)->execute_on_source (self, source); #line 4044 "Commands.c" } static void simple_proxyable_command_real_undo (Command* base) { SimpleProxyableCommand * self; SourceProxy* _tmp0_; DataSource* _tmp1_; DataSource* _tmp2_; #line 151 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand); #line 152 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->proxy; #line 152 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = source_proxy_get_source (_tmp0_); #line 152 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 152 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_undo_on_source (self, _tmp2_); #line 152 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp2_); #line 4067 "Commands.c" } static void simple_proxyable_command_real_undo_on_source (SimpleProxyableCommand* self, DataSource* source) { #line 155 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `simple_proxyable_command_undo_on_source'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 155 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 4079 "Commands.c" } void simple_proxyable_command_undo_on_source (SimpleProxyableCommand* self, DataSource* source) { #line 155 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SIMPLE_PROXYABLE_COMMAND (self)); #line 155 "/home/jens/Source/shotwell/src/Commands.vala" SIMPLE_PROXYABLE_COMMAND_GET_CLASS (self)->undo_on_source (self, source); #line 4091 "Commands.c" } void simple_proxyable_command_add_proxyables (SimpleProxyableCommand* self, GeeCollection* proxyables) { #line 161 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SIMPLE_PROXYABLE_COMMAND (self)); #line 161 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (proxyables)); #line 4103 "Commands.c" { GeeIterator* _proxyable_it = NULL; GeeIterator* _tmp0_; #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (proxyables, GEE_TYPE_ITERABLE, GeeIterable)); #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _proxyable_it = _tmp0_; #line 162 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 4113 "Commands.c" GeeIterator* _tmp1_; Proxyable* proxyable = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; SourceProxy* added_proxy = NULL; Proxyable* _tmp4_; SourceProxy* _tmp5_; SourceProxy* _tmp6_; GeeHashSet* _tmp7_; SourceProxy* _tmp8_; #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _proxyable_it; #line 162 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 162 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 4130 "Commands.c" } #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _proxyable_it; #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 162 "/home/jens/Source/shotwell/src/Commands.vala" proxyable = (Proxyable*) _tmp3_; #line 163 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = proxyable; #line 163 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = proxyable_get_proxy (_tmp4_); #line 163 "/home/jens/Source/shotwell/src/Commands.vala" added_proxy = _tmp5_; #line 164 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = added_proxy; #line 164 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp6_, "broken", (GCallback) _simple_proxyable_command_on_proxy_broken_source_proxy_broken, self, 0); #line 165 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->proxies; #line 165 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = added_proxy; #line 165 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp8_); #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (added_proxy); #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (proxyable); #line 4158 "Commands.c" } #line 162 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxyable_it); #line 4162 "Commands.c" } } void simple_proxyable_command_clear_added_proxies (SimpleProxyableCommand* self) { GeeHashSet* _tmp7_; #line 170 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SIMPLE_PROXYABLE_COMMAND (self)); #line 4173 "Commands.c" { GeeIterator* _added_proxy_it = NULL; GeeHashSet* _tmp0_; GeeIterator* _tmp1_; #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->proxies; #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _added_proxy_it = _tmp1_; #line 171 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 4186 "Commands.c" GeeIterator* _tmp2_; SourceProxy* added_proxy = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; SourceProxy* _tmp5_; guint _tmp6_; #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _added_proxy_it; #line 171 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 171 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 4199 "Commands.c" } #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _added_proxy_it; #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 171 "/home/jens/Source/shotwell/src/Commands.vala" added_proxy = (SourceProxy*) _tmp4_; #line 172 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = added_proxy; #line 172 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp6_, NULL, FALSE); #line 172 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _simple_proxyable_command_on_proxy_broken_source_proxy_broken, self); #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (added_proxy); #line 4215 "Commands.c" } #line 171 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_added_proxy_it); #line 4219 "Commands.c" } #line 174 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->proxies; #line 174 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 4225 "Commands.c" } static void simple_proxyable_command_on_proxy_broken (SimpleProxyableCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 177 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SIMPLE_PROXYABLE_COMMAND (self)); #line 178 "/home/jens/Source/shotwell/src/Commands.vala" g_debug ("Commands.vala:178: on_proxy_broken"); #line 179 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 179 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 179 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 179 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 4246 "Commands.c" } static void simple_proxyable_command_class_init (SimpleProxyableCommandClass * klass) { #line 129 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_parent_class = g_type_class_peek_parent (klass); #line 129 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (SimpleProxyableCommandPrivate)); #line 129 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) simple_proxyable_command_real_execute; #line 129 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) simple_proxyable_command_real_execute_on_source; #line 129 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) simple_proxyable_command_real_undo; #line 129 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) simple_proxyable_command_real_undo_on_source; #line 129 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = simple_proxyable_command_finalize; #line 4267 "Commands.c" } static void simple_proxyable_command_instance_init (SimpleProxyableCommand * self) { GeeHashSet* _tmp0_; #line 129 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = SIMPLE_PROXYABLE_COMMAND_GET_PRIVATE (self); #line 131 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_set_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 131 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->proxies = _tmp0_; #line 4281 "Commands.c" } static void simple_proxyable_command_finalize (GObject * obj) { SimpleProxyableCommand * self; SourceProxy* _tmp0_; guint _tmp1_; #line 129 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand); #line 141 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->proxy; #line 141 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp1_, NULL, FALSE); #line 141 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _simple_proxyable_command_on_proxy_broken_source_proxy_broken, self); #line 142 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_clear_added_proxies (self); #line 130 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (self->priv->proxy); #line 131 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->proxies); #line 129 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (simple_proxyable_command_parent_class)->finalize (obj); #line 4307 "Commands.c" } GType simple_proxyable_command_get_type (void) { static volatile gsize simple_proxyable_command_type_id__volatile = 0; if (g_once_init_enter (&simple_proxyable_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SimpleProxyableCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) simple_proxyable_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SimpleProxyableCommand), 0, (GInstanceInitFunc) simple_proxyable_command_instance_init, NULL }; GType simple_proxyable_command_type_id; simple_proxyable_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "SimpleProxyableCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&simple_proxyable_command_type_id__volatile, simple_proxyable_command_type_id); } return simple_proxyable_command_type_id__volatile; } static void _single_photo_transformation_command_on_state_broken_photo_transformation_state_broken (PhotoTransformationState* _sender, gpointer self) { #line 194 "/home/jens/Source/shotwell/src/Commands.vala" single_photo_transformation_command_on_state_broken ((SinglePhotoTransformationCommand*) self); #line 4331 "Commands.c" } SinglePhotoTransformationCommand* single_photo_transformation_command_construct (GType object_type, Photo* photo, const gchar* name, const gchar* explanation) { SinglePhotoTransformationCommand * self = NULL; PhotoTransformationState* _tmp0_; PhotoTransformationState* _tmp1_; #line 186 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 186 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 186 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 187 "/home/jens/Source/shotwell/src/Commands.vala" self = (SinglePhotoTransformationCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_DATA_SOURCE, DataSource), name, explanation); #line 189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = photo_save_transformation_state (photo); #line 189 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->state); #line 189 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->state = _tmp0_; #line 190 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->state; #line 190 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp1_, "broken", (GCallback) _single_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self, 0); #line 186 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 4364 "Commands.c" } static void single_photo_transformation_command_real_undo (Command* base) { SinglePhotoTransformationCommand * self; DataSource* _tmp0_; PhotoTransformationState* _tmp1_; #line 197 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommand); #line 198 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 198 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->state; #line 198 "/home/jens/Source/shotwell/src/Commands.vala" photo_load_transformation_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp1_); #line 4382 "Commands.c" } static void single_photo_transformation_command_on_state_broken (SinglePhotoTransformationCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 201 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SINGLE_PHOTO_TRANSFORMATION_COMMAND (self)); #line 202 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 202 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 202 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 202 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 4401 "Commands.c" } static void single_photo_transformation_command_class_init (SinglePhotoTransformationCommandClass * klass) { #line 183 "/home/jens/Source/shotwell/src/Commands.vala" single_photo_transformation_command_parent_class = g_type_class_peek_parent (klass); #line 183 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (SinglePhotoTransformationCommandPrivate)); #line 183 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) single_photo_transformation_command_real_undo; #line 183 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = single_photo_transformation_command_finalize; #line 4416 "Commands.c" } static void single_photo_transformation_command_instance_init (SinglePhotoTransformationCommand * self) { #line 183 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = SINGLE_PHOTO_TRANSFORMATION_COMMAND_GET_PRIVATE (self); #line 4425 "Commands.c" } static void single_photo_transformation_command_finalize (GObject * obj) { SinglePhotoTransformationCommand * self; PhotoTransformationState* _tmp0_; guint _tmp1_; #line 183 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommand); #line 194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->state; #line 194 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, &_tmp1_, NULL, FALSE); #line 194 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _single_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self); #line 184 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->state); #line 183 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (single_photo_transformation_command_parent_class)->finalize (obj); #line 4447 "Commands.c" } GType single_photo_transformation_command_get_type (void) { static volatile gsize single_photo_transformation_command_type_id__volatile = 0; if (g_once_init_enter (&single_photo_transformation_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SinglePhotoTransformationCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) single_photo_transformation_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SinglePhotoTransformationCommand), 0, (GInstanceInitFunc) single_photo_transformation_command_instance_init, NULL }; GType single_photo_transformation_command_type_id; single_photo_transformation_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "SinglePhotoTransformationCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&single_photo_transformation_command_type_id__volatile, single_photo_transformation_command_type_id); } return single_photo_transformation_command_type_id__volatile; } static void _generic_photo_transformation_command_on_state_broken_photo_transformation_state_broken (PhotoTransformationState* _sender, gpointer self) { #line 216 "/home/jens/Source/shotwell/src/Commands.vala" generic_photo_transformation_command_on_state_broken ((GenericPhotoTransformationCommand*) self); #line 4471 "Commands.c" } GenericPhotoTransformationCommand* generic_photo_transformation_command_construct (GType object_type, Photo* photo, const gchar* name, const gchar* explanation) { GenericPhotoTransformationCommand * self = NULL; #line 210 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 210 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 210 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 211 "/home/jens/Source/shotwell/src/Commands.vala" self = (GenericPhotoTransformationCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_DATA_SOURCE, DataSource), name, explanation); #line 210 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 4492 "Commands.c" } static void generic_photo_transformation_command_real_execute (Command* base) { GenericPhotoTransformationCommand * self; Photo* photo = NULL; DataSource* _tmp0_; Photo* _tmp1_; PhotoTransformationState* _tmp2_; PhotoTransformationState* _tmp3_; PhotoTransformationState* _tmp4_; PhotoTransformationState* _tmp5_; #line 222 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand); #line 223 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 223 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); #line 223 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp1_; #line 225 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = photo_save_transformation_state (photo); #line 225 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->original_state); #line 225 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->original_state = _tmp2_; #line 226 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->original_state; #line 226 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp3_, "broken", (GCallback) _generic_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self, 0); #line 228 "/home/jens/Source/shotwell/src/Commands.vala" generic_photo_transformation_command_execute_on_photo (self, photo); #line 230 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = photo_save_transformation_state (photo); #line 230 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->transformed_state); #line 230 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->transformed_state = _tmp4_; #line 231 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->transformed_state; #line 231 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp5_, "broken", (GCallback) _generic_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self, 0); #line 222 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 4539 "Commands.c" } static void generic_photo_transformation_command_real_execute_on_photo (GenericPhotoTransformationCommand* self, Photo* photo) { #line 234 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `generic_photo_transformation_command_execute_on_photo'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 234 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 4551 "Commands.c" } void generic_photo_transformation_command_execute_on_photo (GenericPhotoTransformationCommand* self, Photo* photo) { #line 234 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND (self)); #line 234 "/home/jens/Source/shotwell/src/Commands.vala" GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS (self)->execute_on_photo (self, photo); #line 4563 "Commands.c" } static void generic_photo_transformation_command_real_undo (Command* base) { GenericPhotoTransformationCommand * self; DataSource* _tmp0_; PhotoTransformationState* _tmp1_; #line 236 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand); #line 238 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 238 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->original_state; #line 238 "/home/jens/Source/shotwell/src/Commands.vala" photo_load_transformation_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp1_); #line 4581 "Commands.c" } static void generic_photo_transformation_command_real_redo (Command* base) { GenericPhotoTransformationCommand * self; DataSource* _tmp0_; PhotoTransformationState* _tmp1_; #line 241 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand); #line 243 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 243 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->transformed_state; #line 243 "/home/jens/Source/shotwell/src/Commands.vala" photo_load_transformation_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp1_); #line 4599 "Commands.c" } static gboolean generic_photo_transformation_command_real_can_compress (GenericPhotoTransformationCommand* self, Command* command) { gboolean result = FALSE; #line 246 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_COMMAND (command), FALSE); #line 247 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 247 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 4614 "Commands.c" } gboolean generic_photo_transformation_command_can_compress (GenericPhotoTransformationCommand* self, Command* command) { #line 246 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND (self), FALSE); #line 246 "/home/jens/Source/shotwell/src/Commands.vala" return GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS (self)->can_compress (self, command); #line 4626 "Commands.c" } static gboolean generic_photo_transformation_command_real_compress (Command* base, Command* command) { GenericPhotoTransformationCommand * self; gboolean result = FALSE; GenericPhotoTransformationCommand* generic = NULL; GenericPhotoTransformationCommand* _tmp0_; GenericPhotoTransformationCommand* _tmp1_; GenericPhotoTransformationCommand* _tmp2_; DataSource* _tmp3_; DataSource* _tmp4_; GenericPhotoTransformationCommand* _tmp5_; GenericPhotoTransformationCommand* _tmp6_; PhotoTransformationState* _tmp7_; PhotoTransformationState* _tmp8_; #line 250 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand); #line 250 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_COMMAND (command), FALSE); #line 251 "/home/jens/Source/shotwell/src/Commands.vala" if (!generic_photo_transformation_command_can_compress (self, command)) { #line 252 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 252 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 4656 "Commands.c" } #line 254 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (command, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND) ? ((GenericPhotoTransformationCommand*) command) : NULL); #line 254 "/home/jens/Source/shotwell/src/Commands.vala" generic = _tmp0_; #line 255 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = generic; #line 255 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ == NULL) { #line 256 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 256 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (generic); #line 256 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 4672 "Commands.c" } #line 258 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = generic; #line 258 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 258 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 258 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != _tmp4_) { #line 259 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 259 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (generic); #line 259 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 4688 "Commands.c" } #line 262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = generic; #line 262 "/home/jens/Source/shotwell/src/Commands.vala" command_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_COMMAND, Command)); #line 265 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = generic; #line 265 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_->priv->transformed_state; #line 265 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _g_object_ref0 (_tmp7_); #line 265 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->transformed_state); #line 265 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->transformed_state = _tmp8_; #line 267 "/home/jens/Source/shotwell/src/Commands.vala" result = TRUE; #line 267 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (generic); #line 267 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 4710 "Commands.c" } static void generic_photo_transformation_command_on_state_broken (GenericPhotoTransformationCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 270 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND (self)); #line 271 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 271 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 271 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 271 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 4729 "Commands.c" } static void generic_photo_transformation_command_class_init (GenericPhotoTransformationCommandClass * klass) { #line 206 "/home/jens/Source/shotwell/src/Commands.vala" generic_photo_transformation_command_parent_class = g_type_class_peek_parent (klass); #line 206 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (GenericPhotoTransformationCommandPrivate)); #line 206 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) generic_photo_transformation_command_real_execute; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) generic_photo_transformation_command_real_execute_on_photo; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) generic_photo_transformation_command_real_undo; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->redo = (void (*) (Command *)) generic_photo_transformation_command_real_redo; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->can_compress = (gboolean (*) (GenericPhotoTransformationCommand *, Command*)) generic_photo_transformation_command_real_can_compress; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->compress = (gboolean (*) (Command *, Command*)) generic_photo_transformation_command_real_compress; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = generic_photo_transformation_command_finalize; #line 4754 "Commands.c" } static void generic_photo_transformation_command_instance_init (GenericPhotoTransformationCommand * self) { #line 206 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_PRIVATE (self); #line 207 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->original_state = NULL; #line 208 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->transformed_state = NULL; #line 4767 "Commands.c" } static void generic_photo_transformation_command_finalize (GObject * obj) { GenericPhotoTransformationCommand * self; PhotoTransformationState* _tmp0_; PhotoTransformationState* _tmp3_; #line 206 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand); #line 215 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->original_state; #line 215 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ != NULL) { #line 4783 "Commands.c" PhotoTransformationState* _tmp1_; guint _tmp2_; #line 216 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->original_state; #line 216 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, &_tmp2_, NULL, FALSE); #line 216 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _generic_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self); #line 4792 "Commands.c" } #line 218 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->transformed_state; #line 218 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != NULL) { #line 4798 "Commands.c" PhotoTransformationState* _tmp4_; guint _tmp5_; #line 219 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->transformed_state; #line 219 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, &_tmp5_, NULL, FALSE); #line 219 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _generic_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self); #line 4807 "Commands.c" } #line 207 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->original_state); #line 208 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->transformed_state); #line 206 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (generic_photo_transformation_command_parent_class)->finalize (obj); #line 4815 "Commands.c" } GType generic_photo_transformation_command_get_type (void) { static volatile gsize generic_photo_transformation_command_type_id__volatile = 0; if (g_once_init_enter (&generic_photo_transformation_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (GenericPhotoTransformationCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) generic_photo_transformation_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GenericPhotoTransformationCommand), 0, (GInstanceInitFunc) generic_photo_transformation_command_instance_init, NULL }; GType generic_photo_transformation_command_type_id; generic_photo_transformation_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "GenericPhotoTransformationCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&generic_photo_transformation_command_type_id__volatile, generic_photo_transformation_command_type_id); } return generic_photo_transformation_command_type_id__volatile; } static void _multiple_data_source_command_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { #line 309 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_on_source_destroyed ((MultipleDataSourceCommand*) self, source); #line 4840 "Commands.c" } MultipleDataSourceCommand* multiple_data_source_command_construct (GType object_type, GeeIterable* iter, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation) { MultipleDataSourceCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; #line 285 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 285 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (progress_text != NULL, NULL); #line 285 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (undo_progress_text != NULL, NULL); #line 285 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 285 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 287 "/home/jens/Source/shotwell/src/Commands.vala" self = (MultipleDataSourceCommand*) page_command_construct (object_type, name, explanation); #line 289 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (progress_text); #line 289 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->progress_text); #line 289 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->progress_text = _tmp0_; #line 290 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = g_strdup (undo_progress_text); #line 290 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->undo_progress_text); #line 290 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->undo_progress_text = _tmp1_; #line 4879 "Commands.c" { GeeIterator* _view_it = NULL; GeeIterator* _tmp2_; #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_iterable_iterator (iter); #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _view_it = _tmp2_; #line 292 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 4889 "Commands.c" GeeIterator* _tmp3_; DataView* view = NULL; GeeIterator* _tmp4_; gpointer _tmp5_; DataSource* source = NULL; DataView* _tmp6_; DataSource* _tmp7_; SourceCollection* collection = NULL; DataSource* _tmp8_; DataCollection* _tmp9_; SourceCollection* _tmp10_; GeeArrayList* _tmp13_; DataSource* _tmp14_; #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _view_it; #line 292 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp3_)) { #line 292 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 4909 "Commands.c" } #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _view_it; #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_iterator_get (_tmp4_); #line 292 "/home/jens/Source/shotwell/src/Commands.vala" view = (DataView*) _tmp5_; #line 293 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = view; #line 293 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_view_get_source (_tmp6_); #line 293 "/home/jens/Source/shotwell/src/Commands.vala" source = _tmp7_; #line 294 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = source; #line 294 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject)); #line 294 "/home/jens/Source/shotwell/src/Commands.vala" collection = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SOURCE_COLLECTION, SourceCollection); #line 296 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = collection; #line 296 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp10_ != NULL) { #line 4933 "Commands.c" GeeHashSet* _tmp11_; SourceCollection* _tmp12_; #line 297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = self->priv->hooked_collections; #line 297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = collection; #line 297 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp12_); #line 4942 "Commands.c" } #line 299 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->source_list; #line 299 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = source; #line 299 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_); #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (collection); #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 4956 "Commands.c" } #line 292 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_view_it); #line 4960 "Commands.c" } { GeeIterator* _current_collection_it = NULL; GeeHashSet* _tmp15_; GeeIterator* _tmp16_; #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = self->priv->hooked_collections; #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _current_collection_it = _tmp16_; #line 302 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 4974 "Commands.c" GeeIterator* _tmp17_; SourceCollection* current_collection = NULL; GeeIterator* _tmp18_; gpointer _tmp19_; SourceCollection* _tmp20_; #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _current_collection_it; #line 302 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp17_)) { #line 302 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 4986 "Commands.c" } #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = _current_collection_it; #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = gee_iterator_get (_tmp18_); #line 302 "/home/jens/Source/shotwell/src/Commands.vala" current_collection = (SourceCollection*) _tmp19_; #line 303 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = current_collection; #line 303 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp20_, "item-destroyed", (GCallback) _multiple_data_source_command_on_source_destroyed_source_collection_item_destroyed, self, 0); #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (current_collection); #line 5000 "Commands.c" } #line 302 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_current_collection_it); #line 5004 "Commands.c" } #line 285 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 5008 "Commands.c" } GeeIterable* multiple_data_source_command_get_sources (MultipleDataSourceCommand* self) { GeeIterable* result = NULL; GeeArrayList* _tmp0_; GeeIterable* _tmp1_; #line 313 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self), NULL); #line 314 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->source_list; #line 314 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); #line 314 "/home/jens/Source/shotwell/src/Commands.vala" result = _tmp1_; #line 314 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 5028 "Commands.c" } gint multiple_data_source_command_get_source_count (MultipleDataSourceCommand* self) { gint result = 0; GeeArrayList* _tmp0_; gint _tmp1_; gint _tmp2_; #line 317 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self), 0); #line 318 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->source_list; #line 318 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 318 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 318 "/home/jens/Source/shotwell/src/Commands.vala" result = _tmp2_; #line 318 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 5051 "Commands.c" } static void multiple_data_source_command_on_source_destroyed (MultipleDataSourceCommand* self, DataSource* source) { GeeArrayList* _tmp0_; #line 321 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self)); #line 321 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 324 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->source_list; #line 324 "/home/jens/Source/shotwell/src/Commands.vala" if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), source)) { #line 5068 "Commands.c" CommandManager* _tmp1_; CommandManager* _tmp2_; #line 325 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 325 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 325 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp2_); #line 325 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp2_); #line 5079 "Commands.c" } } static void multiple_data_source_command_real_execute (Command* base) { MultipleDataSourceCommand * self; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; GeeArrayList* _tmp2_; #line 328 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand); #line 329 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->acted_upon; #line 329 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 331 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_start_transaction (self); #line 332 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->source_list; #line 332 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->acted_upon; #line 332 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_execute_all (self, TRUE, TRUE, _tmp1_, _tmp2_); #line 333 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_commit_transaction (self); #line 5107 "Commands.c" } static void multiple_data_source_command_real_execute_on_source (MultipleDataSourceCommand* self, DataSource* source) { #line 336 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `multiple_data_source_command_execute_on_source'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 336 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 5119 "Commands.c" } void multiple_data_source_command_execute_on_source (MultipleDataSourceCommand* self, DataSource* source) { #line 336 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self)); #line 336 "/home/jens/Source/shotwell/src/Commands.vala" MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS (self)->execute_on_source (self, source); #line 5131 "Commands.c" } static void multiple_data_source_command_real_undo (Command* base) { MultipleDataSourceCommand * self; GeeArrayList* _tmp0_; gint _tmp1_; gint _tmp2_; #line 338 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand); #line 339 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->acted_upon; #line 339 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 339 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 339 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ > 0) { #line 5152 "Commands.c" GeeArrayList* _tmp3_; GeeArrayList* _tmp4_; #line 340 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_start_transaction (self); #line 341 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->acted_upon; #line 341 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_execute_all (self, FALSE, FALSE, _tmp3_, NULL); #line 342 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_commit_transaction (self); #line 344 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->acted_upon; #line 344 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 5167 "Commands.c" } } static void multiple_data_source_command_real_undo_on_source (MultipleDataSourceCommand* self, DataSource* source) { #line 348 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `multiple_data_source_command_undo_on_source'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 348 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 5180 "Commands.c" } void multiple_data_source_command_undo_on_source (MultipleDataSourceCommand* self, DataSource* source) { #line 348 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self)); #line 348 "/home/jens/Source/shotwell/src/Commands.vala" MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS (self)->undo_on_source (self, source); #line 5192 "Commands.c" } static gpointer _data_collection_ref0 (gpointer self) { #line 352 "/home/jens/Source/shotwell/src/Commands.vala" return self ? data_collection_ref (self) : NULL; #line 5201 "Commands.c" } static void multiple_data_source_command_start_transaction (MultipleDataSourceCommand* self) { #line 350 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self)); #line 5210 "Commands.c" { GeeIterator* _sources_it = NULL; GeeHashSet* _tmp0_; GeeIterator* _tmp1_; #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->hooked_collections; #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _sources_it = _tmp1_; #line 351 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 5223 "Commands.c" GeeIterator* _tmp2_; SourceCollection* sources = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; MediaSourceCollection* media_collection = NULL; SourceCollection* _tmp5_; MediaSourceCollection* _tmp6_; MediaSourceCollection* _tmp7_; #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _sources_it; #line 351 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 351 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5238 "Commands.c" } #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _sources_it; #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 351 "/home/jens/Source/shotwell/src/Commands.vala" sources = (SourceCollection*) _tmp4_; #line 352 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = sources; #line 352 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION) ? ((MediaSourceCollection*) _tmp5_) : NULL); #line 352 "/home/jens/Source/shotwell/src/Commands.vala" media_collection = _tmp6_; #line 353 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = media_collection; #line 353 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ != NULL) { #line 5256 "Commands.c" MediaSourceCollection* _tmp8_; TransactionController* _tmp9_; TransactionController* _tmp10_; #line 354 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = media_collection; #line 354 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = media_source_collection_get_transaction_controller (_tmp8_); #line 354 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 354 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_begin (_tmp10_); #line 5268 "Commands.c" } #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (media_collection); #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (sources); #line 5274 "Commands.c" } #line 351 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_sources_it); #line 5278 "Commands.c" } } static void multiple_data_source_command_commit_transaction (MultipleDataSourceCommand* self) { #line 358 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self)); #line 5288 "Commands.c" { GeeIterator* _sources_it = NULL; GeeHashSet* _tmp0_; GeeIterator* _tmp1_; #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->hooked_collections; #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _sources_it = _tmp1_; #line 359 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 5301 "Commands.c" GeeIterator* _tmp2_; SourceCollection* sources = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; MediaSourceCollection* media_collection = NULL; SourceCollection* _tmp5_; MediaSourceCollection* _tmp6_; MediaSourceCollection* _tmp7_; #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _sources_it; #line 359 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 359 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5316 "Commands.c" } #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _sources_it; #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 359 "/home/jens/Source/shotwell/src/Commands.vala" sources = (SourceCollection*) _tmp4_; #line 360 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = sources; #line 360 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION) ? ((MediaSourceCollection*) _tmp5_) : NULL); #line 360 "/home/jens/Source/shotwell/src/Commands.vala" media_collection = _tmp6_; #line 361 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = media_collection; #line 361 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ != NULL) { #line 5334 "Commands.c" MediaSourceCollection* _tmp8_; TransactionController* _tmp9_; TransactionController* _tmp10_; #line 362 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = media_collection; #line 362 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = media_source_collection_get_transaction_controller (_tmp8_); #line 362 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 362 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_commit (_tmp10_); #line 5346 "Commands.c" } #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (media_collection); #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (sources); #line 5352 "Commands.c" } #line 359 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_sources_it); #line 5356 "Commands.c" } } static void multiple_data_source_command_execute_all (MultipleDataSourceCommand* self, gboolean exec, gboolean can_cancel, GeeArrayList* todo, GeeArrayList* completed) { AppWindow* _tmp0_; AppWindow* _tmp1_; gint count = 0; gint total = 0; gint _tmp2_; gint _tmp3_; gint two_percent = 0; gint _tmp4_; gint _tmp5_; const gchar* _tmp6_ = NULL; gchar* text = NULL; gchar* _tmp9_; GCancellable* cancellable = NULL; ProgressDialog* progress = NULL; gint _tmp10_; ProgressDialog* _tmp42_; AppWindow* _tmp44_; AppWindow* _tmp45_; #line 366 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_COMMAND (self)); #line 366 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_ARRAY_LIST (todo)); #line 366 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail ((completed == NULL) || GEE_IS_ARRAY_LIST (completed)); #line 368 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = app_window_get_instance (); #line 368 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 368 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 368 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 370 "/home/jens/Source/shotwell/src/Commands.vala" count = 0; #line 371 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (todo, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 371 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 371 "/home/jens/Source/shotwell/src/Commands.vala" total = _tmp3_; #line 372 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = total; #line 372 "/home/jens/Source/shotwell/src/Commands.vala" two_percent = (gint) (((gdouble) _tmp4_) / 50.0); #line 373 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = two_percent; #line 373 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp5_ <= 0) { #line 374 "/home/jens/Source/shotwell/src/Commands.vala" two_percent = 1; #line 5418 "Commands.c" } #line 376 "/home/jens/Source/shotwell/src/Commands.vala" if (exec) { #line 5422 "Commands.c" const gchar* _tmp7_; #line 376 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->progress_text; #line 376 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp7_; #line 5428 "Commands.c" } else { const gchar* _tmp8_; #line 376 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->undo_progress_text; #line 376 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp8_; #line 5435 "Commands.c" } #line 376 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = g_strdup (_tmp6_); #line 376 "/home/jens/Source/shotwell/src/Commands.vala" text = _tmp9_; #line 378 "/home/jens/Source/shotwell/src/Commands.vala" cancellable = NULL; #line 379 "/home/jens/Source/shotwell/src/Commands.vala" progress = NULL; #line 380 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = total; #line 380 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp10_ >= MULTIPLE_DATA_SOURCE_COMMAND_MIN_OPS_FOR_PROGRESS_WINDOW) { #line 5449 "Commands.c" GCancellable* _tmp11_ = NULL; GCancellable* _tmp13_; AppWindow* _tmp14_; AppWindow* _tmp15_; const gchar* _tmp16_; GCancellable* _tmp17_; ProgressDialog* _tmp18_; #line 381 "/home/jens/Source/shotwell/src/Commands.vala" if (can_cancel) { #line 5459 "Commands.c" GCancellable* _tmp12_; #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = g_cancellable_new (); #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp12_; #line 5467 "Commands.c" } else { #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = NULL; #line 5473 "Commands.c" } #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _g_object_ref0 (_tmp11_); #line 381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (cancellable); #line 381 "/home/jens/Source/shotwell/src/Commands.vala" cancellable = _tmp13_; #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = app_window_get_instance (); #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _tmp14_; #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = text; #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = cancellable; #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_window_get_type (), GtkWindow), _tmp16_, _tmp17_); #line 382 "/home/jens/Source/shotwell/src/Commands.vala" g_object_ref_sink (_tmp18_); #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (progress); #line 382 "/home/jens/Source/shotwell/src/Commands.vala" progress = _tmp18_; #line 382 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp15_); #line 380 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 5501 "Commands.c" } { GeeArrayList* _source_list = NULL; GeeArrayList* _tmp19_; gint _source_size = 0; GeeArrayList* _tmp20_; gint _tmp21_; gint _tmp22_; gint _source_index = 0; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _g_object_ref0 (todo); #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _source_list = _tmp19_; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _source_list; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _tmp21_; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _source_size = _tmp22_; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _source_index = -1; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 5527 "Commands.c" gint _tmp23_; gint _tmp24_; gint _tmp25_; DataSource* source = NULL; GeeArrayList* _tmp26_; gint _tmp27_; gpointer _tmp28_; ProgressDialog* _tmp32_; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _source_index; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _source_index = _tmp23_ + 1; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _source_index; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _source_size; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp24_ < _tmp25_)) { #line 385 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5548 "Commands.c" } #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = _source_list; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _source_index; #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp27_); #line 385 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp28_; #line 386 "/home/jens/Source/shotwell/src/Commands.vala" if (exec) { #line 5560 "Commands.c" DataSource* _tmp29_; #line 387 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = source; #line 387 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_execute_on_source (self, _tmp29_); #line 5566 "Commands.c" } else { DataSource* _tmp30_; #line 389 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = source; #line 389 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_undo_on_source (self, _tmp30_); #line 5573 "Commands.c" } #line 391 "/home/jens/Source/shotwell/src/Commands.vala" if (completed != NULL) { #line 5577 "Commands.c" DataSource* _tmp31_; #line 392 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = source; #line 392 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (completed, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp31_); #line 5583 "Commands.c" } #line 394 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = progress; #line 394 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp32_ != NULL) { #line 5589 "Commands.c" gint _tmp33_; gint _tmp34_; gint _tmp35_; gboolean _tmp39_ = FALSE; GCancellable* _tmp40_; #line 395 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = count; #line 395 "/home/jens/Source/shotwell/src/Commands.vala" count = _tmp33_ + 1; #line 395 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = count; #line 395 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = two_percent; #line 395 "/home/jens/Source/shotwell/src/Commands.vala" if ((_tmp34_ % _tmp35_) == 0) { #line 5605 "Commands.c" ProgressDialog* _tmp36_; gint _tmp37_; gint _tmp38_; #line 396 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = progress; #line 396 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = count; #line 396 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = total; #line 396 "/home/jens/Source/shotwell/src/Commands.vala" progress_dialog_set_fraction (_tmp36_, _tmp37_, _tmp38_); #line 397 "/home/jens/Source/shotwell/src/Commands.vala" spin_event_loop (); #line 5619 "Commands.c" } #line 400 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = cancellable; #line 400 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp40_ != NULL) { #line 5625 "Commands.c" GCancellable* _tmp41_; #line 400 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = cancellable; #line 400 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = g_cancellable_is_cancelled (_tmp41_); #line 5631 "Commands.c" } else { #line 400 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = FALSE; #line 5635 "Commands.c" } #line 400 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp39_) { #line 401 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 401 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5643 "Commands.c" } } #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 5648 "Commands.c" } #line 385 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_list); #line 5652 "Commands.c" } #line 405 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = progress; #line 405 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp42_ != NULL) { #line 5658 "Commands.c" ProgressDialog* _tmp43_; #line 406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = progress; #line 406 "/home/jens/Source/shotwell/src/Commands.vala" progress_dialog_close (_tmp43_); #line 5664 "Commands.c" } #line 408 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = app_window_get_instance (); #line 408 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = _tmp44_; #line 408 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PAGE_WINDOW, PageWindow)); #line 408 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp45_); #line 366 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (progress); #line 366 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (cancellable); #line 366 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (text); #line 5680 "Commands.c" } static void multiple_data_source_command_class_init (MultipleDataSourceCommandClass * klass) { #line 275 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_command_parent_class = g_type_class_peek_parent (klass); #line 275 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (MultipleDataSourceCommandPrivate)); #line 275 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) multiple_data_source_command_real_execute; #line 275 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) multiple_data_source_command_real_execute_on_source; #line 275 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) multiple_data_source_command_real_undo; #line 275 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) multiple_data_source_command_real_undo_on_source; #line 275 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = multiple_data_source_command_finalize; #line 5701 "Commands.c" } static void multiple_data_source_command_instance_init (MultipleDataSourceCommand * self) { GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; GeeHashSet* _tmp2_; #line 275 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = MULTIPLE_DATA_SOURCE_COMMAND_GET_PRIVATE (self); #line 278 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 278 "/home/jens/Source/shotwell/src/Commands.vala" self->source_list = _tmp0_; #line 282 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 282 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->acted_upon = _tmp1_; #line 283 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_hash_set_new (TYPE_SOURCE_COLLECTION, (GBoxedCopyFunc) data_collection_ref, (GDestroyNotify) data_collection_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 283 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->hooked_collections = _tmp2_; #line 5725 "Commands.c" } static void multiple_data_source_command_finalize (GObject * obj) { MultipleDataSourceCommand * self; #line 275 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand); #line 5735 "Commands.c" { GeeIterator* _current_collection_it = NULL; GeeHashSet* _tmp0_; GeeIterator* _tmp1_; #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->hooked_collections; #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _current_collection_it = _tmp1_; #line 308 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 5748 "Commands.c" GeeIterator* _tmp2_; SourceCollection* current_collection = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; SourceCollection* _tmp5_; guint _tmp6_; #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _current_collection_it; #line 308 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 308 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5761 "Commands.c" } #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _current_collection_it; #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 308 "/home/jens/Source/shotwell/src/Commands.vala" current_collection = (SourceCollection*) _tmp4_; #line 309 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = current_collection; #line 309 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp6_, NULL, FALSE); #line 309 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _multiple_data_source_command_on_source_destroyed_source_collection_item_destroyed, self); #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (current_collection); #line 5777 "Commands.c" } #line 308 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_current_collection_it); #line 5781 "Commands.c" } #line 278 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->source_list); #line 280 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->progress_text); #line 281 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->undo_progress_text); #line 282 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->acted_upon); #line 283 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->hooked_collections); #line 275 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (multiple_data_source_command_parent_class)->finalize (obj); #line 5795 "Commands.c" } GType multiple_data_source_command_get_type (void) { static volatile gsize multiple_data_source_command_type_id__volatile = 0; if (g_once_init_enter (&multiple_data_source_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MultipleDataSourceCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multiple_data_source_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultipleDataSourceCommand), 0, (GInstanceInitFunc) multiple_data_source_command_instance_init, NULL }; GType multiple_data_source_command_type_id; multiple_data_source_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "MultipleDataSourceCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&multiple_data_source_command_type_id__volatile, multiple_data_source_command_type_id); } return multiple_data_source_command_type_id__volatile; } static void _multiple_data_source_at_once_command_on_sources_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self) { #line 435 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_at_once_command_on_sources_destroyed ((MultipleDataSourceAtOnceCommand*) self, destroyed); #line 5820 "Commands.c" } MultipleDataSourceAtOnceCommand* multiple_data_source_at_once_command_construct (GType object_type, GeeCollection* sources, const gchar* name, const gchar* explanation) { MultipleDataSourceAtOnceCommand * self = NULL; GeeHashSet* _tmp0_; #line 417 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (sources), NULL); #line 417 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 417 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 419 "/home/jens/Source/shotwell/src/Commands.vala" self = (MultipleDataSourceAtOnceCommand*) page_command_construct (object_type, name, explanation); #line 421 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->sources; #line 421 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), sources); #line 5844 "Commands.c" { GeeIterator* _source_it = NULL; GeeHashSet* _tmp1_; GeeIterator* _tmp2_; #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->sources; #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp2_; #line 423 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 5857 "Commands.c" GeeIterator* _tmp3_; DataSource* source = NULL; GeeIterator* _tmp4_; gpointer _tmp5_; SourceCollection* membership = NULL; DataSource* _tmp6_; DataCollection* _tmp7_; SourceCollection* _tmp8_; SourceCollection* _tmp9_; #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _source_it; #line 423 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp3_)) { #line 423 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5873 "Commands.c" } #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _source_it; #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_iterator_get (_tmp4_); #line 423 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp5_; #line 424 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = source; #line 424 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_OBJECT, DataObject)); #line 424 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_SOURCE_COLLECTION) ? ((SourceCollection*) _tmp7_) : NULL; #line 424 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp8_ == NULL) { #line 424 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (_tmp7_); #line 5891 "Commands.c" } #line 424 "/home/jens/Source/shotwell/src/Commands.vala" membership = _tmp8_; #line 425 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = membership; #line 425 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp9_ != NULL) { #line 5899 "Commands.c" GeeHashSet* _tmp10_; SourceCollection* _tmp11_; #line 426 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = self->priv->hooked_collections; #line 426 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = membership; #line 426 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_); #line 5908 "Commands.c" } #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (membership); #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 5914 "Commands.c" } #line 423 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 5918 "Commands.c" } { GeeIterator* _source_collection_it = NULL; GeeHashSet* _tmp12_; GeeIterator* _tmp13_; #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->hooked_collections; #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _source_collection_it = _tmp13_; #line 429 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 5932 "Commands.c" GeeIterator* _tmp14_; SourceCollection* source_collection = NULL; GeeIterator* _tmp15_; gpointer _tmp16_; SourceCollection* _tmp17_; #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _source_collection_it; #line 429 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp14_)) { #line 429 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 5944 "Commands.c" } #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _source_collection_it; #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = gee_iterator_get (_tmp15_); #line 429 "/home/jens/Source/shotwell/src/Commands.vala" source_collection = (SourceCollection*) _tmp16_; #line 430 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = source_collection; #line 430 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp17_, "items-destroyed", (GCallback) _multiple_data_source_at_once_command_on_sources_destroyed_source_collection_items_destroyed, self, 0); #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (source_collection); #line 5958 "Commands.c" } #line 429 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_collection_it); #line 5962 "Commands.c" } #line 417 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 5966 "Commands.c" } static void multiple_data_source_at_once_command_real_execute (Command* base) { MultipleDataSourceAtOnceCommand * self; AppWindow* _tmp0_; AppWindow* _tmp1_; MediaCollectionRegistry* _tmp2_; MediaCollectionRegistry* _tmp3_; GeeHashSet* _tmp4_; MediaCollectionRegistry* _tmp5_; MediaCollectionRegistry* _tmp6_; GError * _inner_error_ = NULL; #line 438 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand); #line 439 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = app_window_get_instance (); #line 439 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 439 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 439 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 441 "/home/jens/Source/shotwell/src/Commands.vala" database_table_begin_transaction (); #line 442 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = media_collection_registry_get_instance (); #line 442 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 442 "/home/jens/Source/shotwell/src/Commands.vala" media_collection_registry_freeze_all (_tmp3_); #line 442 "/home/jens/Source/shotwell/src/Commands.vala" _media_collection_registry_unref0 (_tmp3_); #line 444 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->sources; #line 444 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_at_once_command_execute_on_all (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); #line 446 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = media_collection_registry_get_instance (); #line 446 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 446 "/home/jens/Source/shotwell/src/Commands.vala" media_collection_registry_thaw_all (_tmp6_); #line 446 "/home/jens/Source/shotwell/src/Commands.vala" _media_collection_registry_unref0 (_tmp6_); #line 6014 "Commands.c" { #line 448 "/home/jens/Source/shotwell/src/Commands.vala" database_table_commit_transaction (&_inner_error_); #line 448 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 448 "/home/jens/Source/shotwell/src/Commands.vala" if (_inner_error_->domain == DATABASE_ERROR) { #line 6022 "Commands.c" goto __catch464_database_error; } { AppWindow* _tmp7_; AppWindow* _tmp8_; #line 452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = app_window_get_instance (); #line 452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 452 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE_WINDOW, PageWindow)); #line 452 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp8_); #line 6036 "Commands.c" } #line 448 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 448 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 448 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 6044 "Commands.c" } } goto __finally464; __catch464_database_error: { GError* err = NULL; GError* _tmp9_; #line 447 "/home/jens/Source/shotwell/src/Commands.vala" err = _inner_error_; #line 447 "/home/jens/Source/shotwell/src/Commands.vala" _inner_error_ = NULL; #line 450 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = err; #line 450 "/home/jens/Source/shotwell/src/Commands.vala" app_window_database_error (_tmp9_); #line 447 "/home/jens/Source/shotwell/src/Commands.vala" _g_error_free0 (err); #line 6062 "Commands.c" } __finally464: { AppWindow* _tmp10_; AppWindow* _tmp11_; #line 452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = app_window_get_instance (); #line 452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 452 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE_WINDOW, PageWindow)); #line 452 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 6076 "Commands.c" } #line 447 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 447 "/home/jens/Source/shotwell/src/Commands.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 447 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 447 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 6086 "Commands.c" } } static void multiple_data_source_at_once_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources) { #line 456 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `multiple_data_source_at_once_command_execute_on_all'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 456 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 6099 "Commands.c" } void multiple_data_source_at_once_command_execute_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources) { #line 456 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (self)); #line 456 "/home/jens/Source/shotwell/src/Commands.vala" MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS (self)->execute_on_all (self, sources); #line 6111 "Commands.c" } static void multiple_data_source_at_once_command_real_undo (Command* base) { MultipleDataSourceAtOnceCommand * self; AppWindow* _tmp0_; AppWindow* _tmp1_; MediaCollectionRegistry* _tmp2_; MediaCollectionRegistry* _tmp3_; GeeHashSet* _tmp4_; MediaCollectionRegistry* _tmp5_; MediaCollectionRegistry* _tmp6_; GError * _inner_error_ = NULL; #line 458 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand); #line 459 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = app_window_get_instance (); #line 459 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 459 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 459 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 461 "/home/jens/Source/shotwell/src/Commands.vala" database_table_begin_transaction (); #line 462 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = media_collection_registry_get_instance (); #line 462 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 462 "/home/jens/Source/shotwell/src/Commands.vala" media_collection_registry_freeze_all (_tmp3_); #line 462 "/home/jens/Source/shotwell/src/Commands.vala" _media_collection_registry_unref0 (_tmp3_); #line 464 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->sources; #line 464 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_at_once_command_undo_on_all (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); #line 466 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = media_collection_registry_get_instance (); #line 466 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 466 "/home/jens/Source/shotwell/src/Commands.vala" media_collection_registry_thaw_all (_tmp6_); #line 466 "/home/jens/Source/shotwell/src/Commands.vala" _media_collection_registry_unref0 (_tmp6_); #line 6159 "Commands.c" { #line 468 "/home/jens/Source/shotwell/src/Commands.vala" database_table_commit_transaction (&_inner_error_); #line 468 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 468 "/home/jens/Source/shotwell/src/Commands.vala" if (_inner_error_->domain == DATABASE_ERROR) { #line 6167 "Commands.c" goto __catch465_database_error; } { AppWindow* _tmp7_; AppWindow* _tmp8_; #line 472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = app_window_get_instance (); #line 472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 472 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE_WINDOW, PageWindow)); #line 472 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp8_); #line 6181 "Commands.c" } #line 468 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 468 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 468 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 6189 "Commands.c" } } goto __finally465; __catch465_database_error: { GError* err = NULL; GError* _tmp9_; #line 467 "/home/jens/Source/shotwell/src/Commands.vala" err = _inner_error_; #line 467 "/home/jens/Source/shotwell/src/Commands.vala" _inner_error_ = NULL; #line 470 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = err; #line 470 "/home/jens/Source/shotwell/src/Commands.vala" app_window_database_error (_tmp9_); #line 467 "/home/jens/Source/shotwell/src/Commands.vala" _g_error_free0 (err); #line 6207 "Commands.c" } __finally465: { AppWindow* _tmp10_; AppWindow* _tmp11_; #line 472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = app_window_get_instance (); #line 472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 472 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE_WINDOW, PageWindow)); #line 472 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 6221 "Commands.c" } #line 467 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 467 "/home/jens/Source/shotwell/src/Commands.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 467 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 467 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 6231 "Commands.c" } } static void multiple_data_source_at_once_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources) { #line 476 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Type `%s' does not implement abstract method `multiple_data_source_at_once_command_undo_on_all'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 476 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 6244 "Commands.c" } void multiple_data_source_at_once_command_undo_on_all (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources) { #line 476 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (self)); #line 476 "/home/jens/Source/shotwell/src/Commands.vala" MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS (self)->undo_on_all (self, sources); #line 6256 "Commands.c" } static void multiple_data_source_at_once_command_on_sources_destroyed (MultipleDataSourceAtOnceCommand* self, GeeCollection* destroyed) { #line 478 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (self)); #line 478 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (destroyed)); #line 6268 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (destroyed, GEE_TYPE_ITERABLE, GeeIterable)); #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 479 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 6278 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; GeeHashSet* _tmp4_; DataSource* _tmp5_; #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 479 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 479 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 6291 "Commands.c" } #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 479 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 480 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->sources; #line 480 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = source; #line 480 "/home/jens/Source/shotwell/src/Commands.vala" if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp5_)) { #line 6305 "Commands.c" CommandManager* _tmp6_; CommandManager* _tmp7_; #line 481 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 481 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 481 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp7_); #line 481 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp7_); #line 483 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 483 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 6320 "Commands.c" } #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 6324 "Commands.c" } #line 479 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 6328 "Commands.c" } } static void multiple_data_source_at_once_command_class_init (MultipleDataSourceAtOnceCommandClass * klass) { #line 413 "/home/jens/Source/shotwell/src/Commands.vala" multiple_data_source_at_once_command_parent_class = g_type_class_peek_parent (klass); #line 413 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (MultipleDataSourceAtOnceCommandPrivate)); #line 413 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) multiple_data_source_at_once_command_real_execute; #line 413 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->execute_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) multiple_data_source_at_once_command_real_execute_on_all; #line 413 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) multiple_data_source_at_once_command_real_undo; #line 413 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) multiple_data_source_at_once_command_real_undo_on_all; #line 413 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = multiple_data_source_at_once_command_finalize; #line 6350 "Commands.c" } static void multiple_data_source_at_once_command_instance_init (MultipleDataSourceAtOnceCommand * self) { GeeHashSet* _tmp0_; GeeHashSet* _tmp1_; #line 413 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_PRIVATE (self); #line 414 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_set_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 414 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->sources = _tmp0_; #line 415 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_hash_set_new (TYPE_SOURCE_COLLECTION, (GBoxedCopyFunc) data_collection_ref, (GDestroyNotify) data_collection_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 415 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->hooked_collections = _tmp1_; #line 6369 "Commands.c" } static void multiple_data_source_at_once_command_finalize (GObject * obj) { MultipleDataSourceAtOnceCommand * self; #line 413 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand); #line 6379 "Commands.c" { GeeIterator* _source_collection_it = NULL; GeeHashSet* _tmp0_; GeeIterator* _tmp1_; #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->hooked_collections; #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _source_collection_it = _tmp1_; #line 434 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 6392 "Commands.c" GeeIterator* _tmp2_; SourceCollection* source_collection = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; SourceCollection* _tmp5_; guint _tmp6_; #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_collection_it; #line 434 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 434 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 6405 "Commands.c" } #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _source_collection_it; #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 434 "/home/jens/Source/shotwell/src/Commands.vala" source_collection = (SourceCollection*) _tmp4_; #line 435 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = source_collection; #line 435 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp6_, NULL, FALSE); #line 435 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _multiple_data_source_at_once_command_on_sources_destroyed_source_collection_items_destroyed, self); #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (source_collection); #line 6421 "Commands.c" } #line 434 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_collection_it); #line 6425 "Commands.c" } #line 414 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->sources); #line 415 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->hooked_collections); #line 413 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (multiple_data_source_at_once_command_parent_class)->finalize (obj); #line 6433 "Commands.c" } GType multiple_data_source_at_once_command_get_type (void) { static volatile gsize multiple_data_source_at_once_command_type_id__volatile = 0; if (g_once_init_enter (&multiple_data_source_at_once_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MultipleDataSourceAtOnceCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multiple_data_source_at_once_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultipleDataSourceAtOnceCommand), 0, (GInstanceInitFunc) multiple_data_source_at_once_command_instance_init, NULL }; GType multiple_data_source_at_once_command_type_id; multiple_data_source_at_once_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "MultipleDataSourceAtOnceCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&multiple_data_source_at_once_command_type_id__volatile, multiple_data_source_at_once_command_type_id); } return multiple_data_source_at_once_command_type_id__volatile; } static void _multiple_photo_transformation_command_on_state_broken_photo_transformation_state_broken (PhotoTransformationState* _sender, gpointer self) { #line 508 "/home/jens/Source/shotwell/src/Commands.vala" multiple_photo_transformation_command_on_state_broken ((MultiplePhotoTransformationCommand*) self); #line 6457 "Commands.c" } MultiplePhotoTransformationCommand* multiple_photo_transformation_command_construct (GType object_type, GeeIterable* iter, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation) { MultiplePhotoTransformationCommand * self = NULL; #line 493 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 493 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (progress_text != NULL, NULL); #line 493 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (undo_progress_text != NULL, NULL); #line 493 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 493 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 495 "/home/jens/Source/shotwell/src/Commands.vala" self = (MultiplePhotoTransformationCommand*) multiple_data_source_command_construct (object_type, iter, progress_text, undo_progress_text, name, explanation); #line 6482 "Commands.c" { GeeArrayList* _source_list = NULL; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _source_size = 0; GeeArrayList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _source_index = 0; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _source_list = _tmp1_; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_list; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _source_size = _tmp4_; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _source_index = -1; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 6510 "Commands.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; DataSource* source = NULL; GeeArrayList* _tmp8_; gint _tmp9_; gpointer _tmp10_; Photo* photo = NULL; DataSource* _tmp11_; Photo* _tmp12_; PhotoTransformationState* state = NULL; Photo* _tmp13_; PhotoTransformationState* _tmp14_; PhotoTransformationState* _tmp15_; GeeHashMap* _tmp16_; Photo* _tmp17_; PhotoTransformationState* _tmp18_; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _source_index; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _source_index = _tmp5_ + 1; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _source_index; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _source_size; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp6_ < _tmp7_)) { #line 497 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 6540 "Commands.c" } #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _source_list; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _source_index; #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); #line 497 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp10_; #line 498 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = source; #line 498 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PHOTO, Photo)); #line 498 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp12_; #line 499 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = photo; #line 499 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = photo_save_transformation_state (_tmp13_); #line 499 "/home/jens/Source/shotwell/src/Commands.vala" state = _tmp14_; #line 500 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = state; #line 500 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp15_, "broken", (GCallback) _multiple_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self, 0); #line 502 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = self->priv->map; #line 502 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = photo; #line 502 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = state; #line 502 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_, _tmp18_); #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (state); #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 6580 "Commands.c" } #line 497 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_list); #line 6584 "Commands.c" } #line 493 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 6588 "Commands.c" } static void multiple_photo_transformation_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { MultiplePhotoTransformationCommand * self; Photo* photo = NULL; Photo* _tmp0_; PhotoTransformationState* state = NULL; GeeHashMap* _tmp1_; gpointer _tmp2_; #line 511 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommand); #line 511 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 512 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_PHOTO, Photo)); #line 512 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp0_; #line 514 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->map; #line 514 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), photo); #line 514 "/home/jens/Source/shotwell/src/Commands.vala" state = (PhotoTransformationState*) _tmp2_; #line 515 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (state != NULL, "state != null"); #line 517 "/home/jens/Source/shotwell/src/Commands.vala" photo_load_transformation_state (photo, state); #line 511 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (state); #line 511 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 6624 "Commands.c" } static void multiple_photo_transformation_command_on_state_broken (MultiplePhotoTransformationCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 520 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND (self)); #line 521 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 521 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 521 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 521 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 6643 "Commands.c" } static void multiple_photo_transformation_command_class_init (MultiplePhotoTransformationCommandClass * klass) { #line 489 "/home/jens/Source/shotwell/src/Commands.vala" multiple_photo_transformation_command_parent_class = g_type_class_peek_parent (klass); #line 489 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (MultiplePhotoTransformationCommandPrivate)); #line 489 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) multiple_photo_transformation_command_real_undo_on_source; #line 489 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = multiple_photo_transformation_command_finalize; #line 6658 "Commands.c" } static void multiple_photo_transformation_command_instance_init (MultiplePhotoTransformationCommand * self) { GeeHashMap* _tmp0_; #line 489 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_GET_PRIVATE (self); #line 490 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_PHOTO_TRANSFORMATION_STATE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 490 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->map = _tmp0_; #line 6672 "Commands.c" } static void multiple_photo_transformation_command_finalize (GObject * obj) { MultiplePhotoTransformationCommand * self; #line 489 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommand); #line 6682 "Commands.c" { GeeIterator* _state_it = NULL; GeeHashMap* _tmp0_; GeeCollection* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->map; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _state_it = _tmp5_; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 6709 "Commands.c" GeeIterator* _tmp6_; PhotoTransformationState* state = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; PhotoTransformationState* _tmp9_; guint _tmp10_; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _state_it; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp6_)) { #line 507 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 6722 "Commands.c" } #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _state_it; #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 507 "/home/jens/Source/shotwell/src/Commands.vala" state = (PhotoTransformationState*) _tmp8_; #line 508 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = state; #line 508 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, &_tmp10_, NULL, FALSE); #line 508 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _multiple_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self); #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (state); #line 6738 "Commands.c" } #line 507 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_state_it); #line 6742 "Commands.c" } #line 490 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->map); #line 489 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (multiple_photo_transformation_command_parent_class)->finalize (obj); #line 6748 "Commands.c" } GType multiple_photo_transformation_command_get_type (void) { static volatile gsize multiple_photo_transformation_command_type_id__volatile = 0; if (g_once_init_enter (&multiple_photo_transformation_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MultiplePhotoTransformationCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multiple_photo_transformation_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultiplePhotoTransformationCommand), 0, (GInstanceInitFunc) multiple_photo_transformation_command_instance_init, NULL }; GType multiple_photo_transformation_command_type_id; multiple_photo_transformation_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "MultiplePhotoTransformationCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&multiple_photo_transformation_command_type_id__volatile, multiple_photo_transformation_command_type_id); } return multiple_photo_transformation_command_type_id__volatile; } RotateSingleCommand* rotate_single_command_construct (GType object_type, Photo* photo, Rotation rotation, const gchar* name, const gchar* explanation) { RotateSingleCommand * self = NULL; #line 528 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 528 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 528 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 529 "/home/jens/Source/shotwell/src/Commands.vala" self = (RotateSingleCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_DATA_SOURCE, DataSource), name, explanation); #line 531 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->rotation = rotation; #line 528 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 6786 "Commands.c" } RotateSingleCommand* rotate_single_command_new (Photo* photo, Rotation rotation, const gchar* name, const gchar* explanation) { #line 528 "/home/jens/Source/shotwell/src/Commands.vala" return rotate_single_command_construct (TYPE_ROTATE_SINGLE_COMMAND, photo, rotation, name, explanation); #line 6798 "Commands.c" } static void rotate_single_command_real_execute (Command* base) { RotateSingleCommand * self; DataSource* _tmp0_; Rotation _tmp1_; #line 534 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommand); #line 535 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 535 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->rotation; #line 535 "/home/jens/Source/shotwell/src/Commands.vala" photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp1_); #line 6816 "Commands.c" } static void rotate_single_command_real_undo (Command* base) { RotateSingleCommand * self; DataSource* _tmp0_; Rotation _tmp1_; #line 538 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommand); #line 539 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 539 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->rotation; #line 539 "/home/jens/Source/shotwell/src/Commands.vala" photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), rotation_opposite (_tmp1_)); #line 6834 "Commands.c" } static void rotate_single_command_class_init (RotateSingleCommandClass * klass) { #line 525 "/home/jens/Source/shotwell/src/Commands.vala" rotate_single_command_parent_class = g_type_class_peek_parent (klass); #line 525 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (RotateSingleCommandPrivate)); #line 525 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) rotate_single_command_real_execute; #line 525 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) rotate_single_command_real_undo; #line 525 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = rotate_single_command_finalize; #line 6851 "Commands.c" } static void rotate_single_command_instance_init (RotateSingleCommand * self) { #line 525 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ROTATE_SINGLE_COMMAND_GET_PRIVATE (self); #line 6860 "Commands.c" } static void rotate_single_command_finalize (GObject * obj) { RotateSingleCommand * self; #line 525 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommand); #line 525 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (rotate_single_command_parent_class)->finalize (obj); #line 6872 "Commands.c" } GType rotate_single_command_get_type (void) { static volatile gsize rotate_single_command_type_id__volatile = 0; if (g_once_init_enter (&rotate_single_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RotateSingleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rotate_single_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RotateSingleCommand), 0, (GInstanceInitFunc) rotate_single_command_instance_init, NULL }; GType rotate_single_command_type_id; rotate_single_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "RotateSingleCommand", &g_define_type_info, 0); g_once_init_leave (&rotate_single_command_type_id__volatile, rotate_single_command_type_id); } return rotate_single_command_type_id__volatile; } RotateMultipleCommand* rotate_multiple_command_construct (GType object_type, GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text) { RotateMultipleCommand * self = NULL; #line 546 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 546 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 546 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 546 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (progress_text != NULL, NULL); #line 546 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (undo_progress_text != NULL, NULL); #line 548 "/home/jens/Source/shotwell/src/Commands.vala" self = (RotateMultipleCommand*) multiple_data_source_command_construct (object_type, iter, progress_text, undo_progress_text, name, explanation); #line 550 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->rotation = rotation; #line 546 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 6916 "Commands.c" } RotateMultipleCommand* rotate_multiple_command_new (GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text) { #line 546 "/home/jens/Source/shotwell/src/Commands.vala" return rotate_multiple_command_construct (TYPE_ROTATE_MULTIPLE_COMMAND, iter, rotation, name, explanation, progress_text, undo_progress_text); #line 6930 "Commands.c" } static void rotate_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { RotateMultipleCommand * self; Rotation _tmp0_; #line 553 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand); #line 553 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 554 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->rotation; #line 554 "/home/jens/Source/shotwell/src/Commands.vala" photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_PHOTO, Photo), _tmp0_); #line 6948 "Commands.c" } static void rotate_multiple_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { RotateMultipleCommand * self; Rotation _tmp0_; #line 557 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand); #line 557 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 558 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->rotation; #line 558 "/home/jens/Source/shotwell/src/Commands.vala" photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_PHOTO, Photo), rotation_opposite (_tmp0_)); #line 6966 "Commands.c" } static void rotate_multiple_command_class_init (RotateMultipleCommandClass * klass) { #line 543 "/home/jens/Source/shotwell/src/Commands.vala" rotate_multiple_command_parent_class = g_type_class_peek_parent (klass); #line 543 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (RotateMultipleCommandPrivate)); #line 543 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) rotate_multiple_command_real_execute_on_source; #line 543 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) rotate_multiple_command_real_undo_on_source; #line 543 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = rotate_multiple_command_finalize; #line 6983 "Commands.c" } static void rotate_multiple_command_instance_init (RotateMultipleCommand * self) { #line 543 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ROTATE_MULTIPLE_COMMAND_GET_PRIVATE (self); #line 6992 "Commands.c" } static void rotate_multiple_command_finalize (GObject * obj) { RotateMultipleCommand * self; #line 543 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand); #line 543 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (rotate_multiple_command_parent_class)->finalize (obj); #line 7004 "Commands.c" } GType rotate_multiple_command_get_type (void) { static volatile gsize rotate_multiple_command_type_id__volatile = 0; if (g_once_init_enter (&rotate_multiple_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RotateMultipleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rotate_multiple_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RotateMultipleCommand), 0, (GInstanceInitFunc) rotate_multiple_command_instance_init, NULL }; GType rotate_multiple_command_type_id; rotate_multiple_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "RotateMultipleCommand", &g_define_type_info, 0); g_once_init_leave (&rotate_multiple_command_type_id__volatile, rotate_multiple_command_type_id); } return rotate_multiple_command_type_id__volatile; } EditTitleCommand* edit_title_command_construct (GType object_type, MediaSource* source, const gchar* new_title) { EditTitleCommand * self = NULL; gchar* title = NULL; gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; #line 566 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); #line 566 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_title != NULL, NULL); #line 567 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (g_dpgettext2 (NULL, "Button Label", RESOURCES_EDIT_TITLE_LABEL)); #line 567 "/home/jens/Source/shotwell/src/Commands.vala" title = _tmp0_; #line 569 "/home/jens/Source/shotwell/src/Commands.vala" self = (EditTitleCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_SOURCE, DataSource), title, ""); #line 571 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = g_strdup (new_title); #line 571 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_title); #line 571 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_title = _tmp1_; #line 572 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = media_source_get_title (source); #line 572 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_title); #line 572 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_title = _tmp2_; #line 566 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (title); #line 566 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 7058 "Commands.c" } EditTitleCommand* edit_title_command_new (MediaSource* source, const gchar* new_title) { #line 566 "/home/jens/Source/shotwell/src/Commands.vala" return edit_title_command_construct (TYPE_EDIT_TITLE_COMMAND, source, new_title); #line 7068 "Commands.c" } static void edit_title_command_real_execute (Command* base) { EditTitleCommand * self; DataSource* _tmp0_; const gchar* _tmp1_; #line 575 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_TITLE_COMMAND, EditTitleCommand); #line 576 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 576 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->new_title; #line 576 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); #line 7086 "Commands.c" } static void edit_title_command_real_undo (Command* base) { EditTitleCommand * self; DataSource* _tmp0_; const gchar* _tmp1_; #line 579 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_TITLE_COMMAND, EditTitleCommand); #line 580 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 580 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_title; #line 580 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); #line 7104 "Commands.c" } static void edit_title_command_class_init (EditTitleCommandClass * klass) { #line 562 "/home/jens/Source/shotwell/src/Commands.vala" edit_title_command_parent_class = g_type_class_peek_parent (klass); #line 562 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (EditTitleCommandPrivate)); #line 562 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) edit_title_command_real_execute; #line 562 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) edit_title_command_real_undo; #line 562 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = edit_title_command_finalize; #line 7121 "Commands.c" } static void edit_title_command_instance_init (EditTitleCommand * self) { #line 562 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = EDIT_TITLE_COMMAND_GET_PRIVATE (self); #line 7130 "Commands.c" } static void edit_title_command_finalize (GObject * obj) { EditTitleCommand * self; #line 562 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDIT_TITLE_COMMAND, EditTitleCommand); #line 563 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_title); #line 564 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_title); #line 562 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (edit_title_command_parent_class)->finalize (obj); #line 7146 "Commands.c" } GType edit_title_command_get_type (void) { static volatile gsize edit_title_command_type_id__volatile = 0; if (g_once_init_enter (&edit_title_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EditTitleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_title_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditTitleCommand), 0, (GInstanceInitFunc) edit_title_command_instance_init, NULL }; GType edit_title_command_type_id; edit_title_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "EditTitleCommand", &g_define_type_info, 0); g_once_init_leave (&edit_title_command_type_id__volatile, edit_title_command_type_id); } return edit_title_command_type_id__volatile; } EditCommentCommand* edit_comment_command_construct (GType object_type, MediaSource* source, const gchar* new_comment) { EditCommentCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; #line 588 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); #line 588 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_comment != NULL, NULL); #line 589 "/home/jens/Source/shotwell/src/Commands.vala" self = (EditCommentCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_SOURCE, DataSource), RESOURCES_EDIT_COMMENT_LABEL, ""); #line 591 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (new_comment); #line 591 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_comment); #line 591 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_comment = _tmp0_; #line 592 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = media_source_get_comment (source); #line 592 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_comment); #line 592 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_comment = _tmp1_; #line 588 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 7192 "Commands.c" } EditCommentCommand* edit_comment_command_new (MediaSource* source, const gchar* new_comment) { #line 588 "/home/jens/Source/shotwell/src/Commands.vala" return edit_comment_command_construct (TYPE_EDIT_COMMENT_COMMAND, source, new_comment); #line 7202 "Commands.c" } static void edit_comment_command_real_execute (Command* base) { EditCommentCommand * self; DataSource* _tmp0_; const gchar* _tmp1_; #line 595 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_COMMENT_COMMAND, EditCommentCommand); #line 596 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 596 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->new_comment; #line 596 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); #line 7220 "Commands.c" } static void edit_comment_command_real_undo (Command* base) { EditCommentCommand * self; DataSource* _tmp0_; const gchar* _tmp1_; #line 599 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_COMMENT_COMMAND, EditCommentCommand); #line 600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_comment; #line 600 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); #line 7238 "Commands.c" } static void edit_comment_command_class_init (EditCommentCommandClass * klass) { #line 584 "/home/jens/Source/shotwell/src/Commands.vala" edit_comment_command_parent_class = g_type_class_peek_parent (klass); #line 584 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (EditCommentCommandPrivate)); #line 584 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) edit_comment_command_real_execute; #line 584 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) edit_comment_command_real_undo; #line 584 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = edit_comment_command_finalize; #line 7255 "Commands.c" } static void edit_comment_command_instance_init (EditCommentCommand * self) { #line 584 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = EDIT_COMMENT_COMMAND_GET_PRIVATE (self); #line 7264 "Commands.c" } static void edit_comment_command_finalize (GObject * obj) { EditCommentCommand * self; #line 584 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDIT_COMMENT_COMMAND, EditCommentCommand); #line 585 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_comment); #line 586 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_comment); #line 584 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (edit_comment_command_parent_class)->finalize (obj); #line 7280 "Commands.c" } GType edit_comment_command_get_type (void) { static volatile gsize edit_comment_command_type_id__volatile = 0; if (g_once_init_enter (&edit_comment_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EditCommentCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_comment_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditCommentCommand), 0, (GInstanceInitFunc) edit_comment_command_instance_init, NULL }; GType edit_comment_command_type_id; edit_comment_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "EditCommentCommand", &g_define_type_info, 0); g_once_init_leave (&edit_comment_command_type_id__volatile, edit_comment_command_type_id); } return edit_comment_command_type_id__volatile; } EditMultipleTitlesCommand* edit_multiple_titles_command_construct (GType object_type, GeeCollection* media_sources, const gchar* new_title) { EditMultipleTitlesCommand * self = NULL; gchar* title = NULL; gchar* _tmp0_; const gchar* _tmp1_; gchar* _tmp2_; #line 608 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (media_sources), NULL); #line 608 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_title != NULL, NULL); #line 609 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (g_dpgettext2 (NULL, "Button Label", RESOURCES_EDIT_TITLE_LABEL)); #line 609 "/home/jens/Source/shotwell/src/Commands.vala" title = _tmp0_; #line 611 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = title; #line 611 "/home/jens/Source/shotwell/src/Commands.vala" self = (EditMultipleTitlesCommand*) multiple_data_source_at_once_command_construct (object_type, media_sources, _tmp1_, ""); #line 613 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = g_strdup (new_title); #line 613 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->new_title); #line 613 "/home/jens/Source/shotwell/src/Commands.vala" self->new_title = _tmp2_; #line 7326 "Commands.c" { GeeIterator* _media_it = NULL; GeeIterator* _tmp3_; #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (media_sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _media_it = _tmp3_; #line 614 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 7336 "Commands.c" GeeIterator* _tmp4_; MediaSource* media = NULL; GeeIterator* _tmp5_; gpointer _tmp6_; GeeHashMap* _tmp7_; MediaSource* _tmp8_; MediaSource* _tmp9_; gchar* _tmp10_; gchar* _tmp11_; #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _media_it; #line 614 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp4_)) { #line 614 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 7352 "Commands.c" } #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _media_it; #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_iterator_get (_tmp5_); #line 614 "/home/jens/Source/shotwell/src/Commands.vala" media = (MediaSource*) _tmp6_; #line 615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->old_titles; #line 615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = media; #line 615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = media; #line 615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = media_source_get_title (_tmp9_); #line 615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 615 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_, _tmp11_); #line 615 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp11_); #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (media); #line 7376 "Commands.c" } #line 614 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_media_it); #line 7380 "Commands.c" } #line 608 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (title); #line 608 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 7386 "Commands.c" } EditMultipleTitlesCommand* edit_multiple_titles_command_new (GeeCollection* media_sources, const gchar* new_title) { #line 608 "/home/jens/Source/shotwell/src/Commands.vala" return edit_multiple_titles_command_construct (TYPE_EDIT_MULTIPLE_TITLES_COMMAND, media_sources, new_title); #line 7396 "Commands.c" } static void edit_multiple_titles_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { EditMultipleTitlesCommand * self; #line 618 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommand); #line 618 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (sources)); #line 7409 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 619 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 7419 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; DataSource* _tmp4_; const gchar* _tmp5_; #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 619 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 619 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 7432 "Commands.c" } #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 619 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 620 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = source; #line 620 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->new_title; #line 620 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource), _tmp5_); #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 7448 "Commands.c" } #line 619 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 7452 "Commands.c" } } static void edit_multiple_titles_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { EditMultipleTitlesCommand * self; #line 623 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommand); #line 623 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (sources)); #line 7466 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 624 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 7476 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; DataSource* _tmp4_; GeeHashMap* _tmp5_; DataSource* _tmp6_; gpointer _tmp7_; gchar* _tmp8_; #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 624 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 624 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 7492 "Commands.c" } #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 624 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 625 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = source; #line 625 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->old_titles; #line 625 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = source; #line 625 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource)); #line 625 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = (gchar*) _tmp7_; #line 625 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource), _tmp8_); #line 625 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp8_); #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 7516 "Commands.c" } #line 624 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 7520 "Commands.c" } } static void edit_multiple_titles_command_class_init (EditMultipleTitlesCommandClass * klass) { #line 604 "/home/jens/Source/shotwell/src/Commands.vala" edit_multiple_titles_command_parent_class = g_type_class_peek_parent (klass); #line 604 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->execute_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) edit_multiple_titles_command_real_execute_on_all; #line 604 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) edit_multiple_titles_command_real_undo_on_all; #line 604 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = edit_multiple_titles_command_finalize; #line 7536 "Commands.c" } static void edit_multiple_titles_command_instance_init (EditMultipleTitlesCommand * self) { GeeHashMap* _tmp0_; #line 606 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 606 "/home/jens/Source/shotwell/src/Commands.vala" self->old_titles = _tmp0_; #line 7548 "Commands.c" } static void edit_multiple_titles_command_finalize (GObject * obj) { EditMultipleTitlesCommand * self; #line 604 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommand); #line 605 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->new_title); #line 606 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->old_titles); #line 604 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (edit_multiple_titles_command_parent_class)->finalize (obj); #line 7564 "Commands.c" } GType edit_multiple_titles_command_get_type (void) { static volatile gsize edit_multiple_titles_command_type_id__volatile = 0; if (g_once_init_enter (&edit_multiple_titles_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EditMultipleTitlesCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_multiple_titles_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditMultipleTitlesCommand), 0, (GInstanceInitFunc) edit_multiple_titles_command_instance_init, NULL }; GType edit_multiple_titles_command_type_id; edit_multiple_titles_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, "EditMultipleTitlesCommand", &g_define_type_info, 0); g_once_init_leave (&edit_multiple_titles_command_type_id__volatile, edit_multiple_titles_command_type_id); } return edit_multiple_titles_command_type_id__volatile; } EditMultipleCommentsCommand* edit_multiple_comments_command_construct (GType object_type, GeeCollection* media_sources, const gchar* new_comment) { EditMultipleCommentsCommand * self = NULL; gchar* _tmp0_; #line 633 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (media_sources), NULL); #line 633 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_comment != NULL, NULL); #line 634 "/home/jens/Source/shotwell/src/Commands.vala" self = (EditMultipleCommentsCommand*) multiple_data_source_at_once_command_construct (object_type, media_sources, RESOURCES_EDIT_COMMENT_LABEL, ""); #line 636 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (new_comment); #line 636 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->new_comment); #line 636 "/home/jens/Source/shotwell/src/Commands.vala" self->new_comment = _tmp0_; #line 7601 "Commands.c" { GeeIterator* _media_it = NULL; GeeIterator* _tmp1_; #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (media_sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _media_it = _tmp1_; #line 637 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 7611 "Commands.c" GeeIterator* _tmp2_; MediaSource* media = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; GeeHashMap* _tmp5_; MediaSource* _tmp6_; MediaSource* _tmp7_; gchar* _tmp8_; gchar* _tmp9_; #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _media_it; #line 637 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 637 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 7627 "Commands.c" } #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _media_it; #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 637 "/home/jens/Source/shotwell/src/Commands.vala" media = (MediaSource*) _tmp4_; #line 638 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->old_comments; #line 638 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = media; #line 638 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = media; #line 638 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = media_source_get_comment (_tmp7_); #line 638 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _tmp8_; #line 638 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_, _tmp9_); #line 638 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp9_); #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (media); #line 7651 "Commands.c" } #line 637 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_media_it); #line 7655 "Commands.c" } #line 633 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 7659 "Commands.c" } EditMultipleCommentsCommand* edit_multiple_comments_command_new (GeeCollection* media_sources, const gchar* new_comment) { #line 633 "/home/jens/Source/shotwell/src/Commands.vala" return edit_multiple_comments_command_construct (TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, media_sources, new_comment); #line 7669 "Commands.c" } static void edit_multiple_comments_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { EditMultipleCommentsCommand * self; #line 641 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommand); #line 641 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (sources)); #line 7682 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 642 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 7692 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; DataSource* _tmp4_; const gchar* _tmp5_; #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 642 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 642 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 7705 "Commands.c" } #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 642 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 643 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = source; #line 643 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->new_comment; #line 643 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource), _tmp5_); #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 7721 "Commands.c" } #line 642 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 7725 "Commands.c" } } static void edit_multiple_comments_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { EditMultipleCommentsCommand * self; #line 646 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommand); #line 646 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (sources)); #line 7739 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 647 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 7749 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; DataSource* _tmp4_; GeeHashMap* _tmp5_; DataSource* _tmp6_; gpointer _tmp7_; gchar* _tmp8_; #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 647 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 647 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 7765 "Commands.c" } #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 647 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 648 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = source; #line 648 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->old_comments; #line 648 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = source; #line 648 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource)); #line 648 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = (gchar*) _tmp7_; #line 648 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource), _tmp8_); #line 648 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp8_); #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 7789 "Commands.c" } #line 647 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 7793 "Commands.c" } } static void edit_multiple_comments_command_class_init (EditMultipleCommentsCommandClass * klass) { #line 629 "/home/jens/Source/shotwell/src/Commands.vala" edit_multiple_comments_command_parent_class = g_type_class_peek_parent (klass); #line 629 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->execute_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) edit_multiple_comments_command_real_execute_on_all; #line 629 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) edit_multiple_comments_command_real_undo_on_all; #line 629 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = edit_multiple_comments_command_finalize; #line 7809 "Commands.c" } static void edit_multiple_comments_command_instance_init (EditMultipleCommentsCommand * self) { GeeHashMap* _tmp0_; #line 631 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 631 "/home/jens/Source/shotwell/src/Commands.vala" self->old_comments = _tmp0_; #line 7821 "Commands.c" } static void edit_multiple_comments_command_finalize (GObject * obj) { EditMultipleCommentsCommand * self; #line 629 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommand); #line 630 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->new_comment); #line 631 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->old_comments); #line 629 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (edit_multiple_comments_command_parent_class)->finalize (obj); #line 7837 "Commands.c" } GType edit_multiple_comments_command_get_type (void) { static volatile gsize edit_multiple_comments_command_type_id__volatile = 0; if (g_once_init_enter (&edit_multiple_comments_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EditMultipleCommentsCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_multiple_comments_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditMultipleCommentsCommand), 0, (GInstanceInitFunc) edit_multiple_comments_command_instance_init, NULL }; GType edit_multiple_comments_command_type_id; edit_multiple_comments_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, "EditMultipleCommentsCommand", &g_define_type_info, 0); g_once_init_leave (&edit_multiple_comments_command_type_id__volatile, edit_multiple_comments_command_type_id); } return edit_multiple_comments_command_type_id__volatile; } RenameEventCommand* rename_event_command_construct (GType object_type, Event* event, const gchar* new_name) { RenameEventCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; #line 656 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_EVENT (event), NULL); #line 656 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_name != NULL, NULL); #line 657 "/home/jens/Source/shotwell/src/Commands.vala" self = (RenameEventCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_PROXYABLE, Proxyable), RESOURCES_RENAME_EVENT_LABEL, ""); #line 659 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (new_name); #line 659 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_name); #line 659 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_name = _tmp0_; #line 660 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = event_get_raw_name (event); #line 660 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_name); #line 660 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_name = _tmp1_; #line 656 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 7883 "Commands.c" } RenameEventCommand* rename_event_command_new (Event* event, const gchar* new_name) { #line 656 "/home/jens/Source/shotwell/src/Commands.vala" return rename_event_command_construct (TYPE_RENAME_EVENT_COMMAND, event, new_name); #line 7893 "Commands.c" } static void rename_event_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { RenameEventCommand * self; const gchar* _tmp0_; #line 663 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RENAME_EVENT_COMMAND, RenameEventCommand); #line 663 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 664 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->new_name; #line 664 "/home/jens/Source/shotwell/src/Commands.vala" event_rename (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_EVENT, Event), _tmp0_); #line 7911 "Commands.c" } static void rename_event_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { RenameEventCommand * self; const gchar* _tmp0_; #line 667 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RENAME_EVENT_COMMAND, RenameEventCommand); #line 667 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 668 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->old_name; #line 668 "/home/jens/Source/shotwell/src/Commands.vala" event_rename (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_EVENT, Event), _tmp0_); #line 7929 "Commands.c" } static void rename_event_command_class_init (RenameEventCommandClass * klass) { #line 652 "/home/jens/Source/shotwell/src/Commands.vala" rename_event_command_parent_class = g_type_class_peek_parent (klass); #line 652 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (RenameEventCommandPrivate)); #line 652 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) rename_event_command_real_execute_on_source; #line 652 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) rename_event_command_real_undo_on_source; #line 652 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = rename_event_command_finalize; #line 7946 "Commands.c" } static void rename_event_command_instance_init (RenameEventCommand * self) { #line 652 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = RENAME_EVENT_COMMAND_GET_PRIVATE (self); #line 7955 "Commands.c" } static void rename_event_command_finalize (GObject * obj) { RenameEventCommand * self; #line 652 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RENAME_EVENT_COMMAND, RenameEventCommand); #line 653 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_name); #line 654 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_name); #line 652 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (rename_event_command_parent_class)->finalize (obj); #line 7971 "Commands.c" } GType rename_event_command_get_type (void) { static volatile gsize rename_event_command_type_id__volatile = 0; if (g_once_init_enter (&rename_event_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RenameEventCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rename_event_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RenameEventCommand), 0, (GInstanceInitFunc) rename_event_command_instance_init, NULL }; GType rename_event_command_type_id; rename_event_command_type_id = g_type_register_static (TYPE_SIMPLE_PROXYABLE_COMMAND, "RenameEventCommand", &g_define_type_info, 0); g_once_init_leave (&rename_event_command_type_id__volatile, rename_event_command_type_id); } return rename_event_command_type_id__volatile; } EditEventCommentCommand* edit_event_comment_command_construct (GType object_type, Event* event, const gchar* new_comment) { EditEventCommentCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; #line 676 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_EVENT (event), NULL); #line 676 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_comment != NULL, NULL); #line 677 "/home/jens/Source/shotwell/src/Commands.vala" self = (EditEventCommentCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_PROXYABLE, Proxyable), RESOURCES_EDIT_COMMENT_LABEL, ""); #line 679 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = g_strdup (new_comment); #line 679 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_comment); #line 679 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_comment = _tmp0_; #line 680 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_EVENT_SOURCE, EventSource)); #line 680 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_comment); #line 680 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_comment = _tmp1_; #line 676 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8017 "Commands.c" } EditEventCommentCommand* edit_event_comment_command_new (Event* event, const gchar* new_comment) { #line 676 "/home/jens/Source/shotwell/src/Commands.vala" return edit_event_comment_command_construct (TYPE_EDIT_EVENT_COMMENT_COMMAND, event, new_comment); #line 8027 "Commands.c" } static void edit_event_comment_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { EditEventCommentCommand * self; const gchar* _tmp0_; #line 683 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommand); #line 683 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 684 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->new_comment; #line 684 "/home/jens/Source/shotwell/src/Commands.vala" event_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_EVENT, Event), TYPE_EVENT_SOURCE, EventSource), _tmp0_); #line 8045 "Commands.c" } static void edit_event_comment_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { EditEventCommentCommand * self; const gchar* _tmp0_; #line 687 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommand); #line 687 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 688 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->old_comment; #line 688 "/home/jens/Source/shotwell/src/Commands.vala" event_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_EVENT, Event), TYPE_EVENT_SOURCE, EventSource), _tmp0_); #line 8063 "Commands.c" } static void edit_event_comment_command_class_init (EditEventCommentCommandClass * klass) { #line 672 "/home/jens/Source/shotwell/src/Commands.vala" edit_event_comment_command_parent_class = g_type_class_peek_parent (klass); #line 672 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (EditEventCommentCommandPrivate)); #line 672 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) edit_event_comment_command_real_execute_on_source; #line 672 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) edit_event_comment_command_real_undo_on_source; #line 672 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = edit_event_comment_command_finalize; #line 8080 "Commands.c" } static void edit_event_comment_command_instance_init (EditEventCommentCommand * self) { #line 672 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = EDIT_EVENT_COMMENT_COMMAND_GET_PRIVATE (self); #line 8089 "Commands.c" } static void edit_event_comment_command_finalize (GObject * obj) { EditEventCommentCommand * self; #line 672 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommand); #line 673 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_comment); #line 674 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_comment); #line 672 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (edit_event_comment_command_parent_class)->finalize (obj); #line 8105 "Commands.c" } GType edit_event_comment_command_get_type (void) { static volatile gsize edit_event_comment_command_type_id__volatile = 0; if (g_once_init_enter (&edit_event_comment_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EditEventCommentCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_event_comment_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditEventCommentCommand), 0, (GInstanceInitFunc) edit_event_comment_command_instance_init, NULL }; GType edit_event_comment_command_type_id; edit_event_comment_command_type_id = g_type_register_static (TYPE_SIMPLE_PROXYABLE_COMMAND, "EditEventCommentCommand", &g_define_type_info, 0); g_once_init_leave (&edit_event_comment_command_type_id__volatile, edit_event_comment_command_type_id); } return edit_event_comment_command_type_id__volatile; } SetKeyPhotoCommand* set_key_photo_command_construct (GType object_type, Event* event, MediaSource* new_primary_source) { SetKeyPhotoCommand * self = NULL; MediaSource* _tmp0_; MediaSource* _tmp1_; #line 696 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_EVENT (event), NULL); #line 696 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_MEDIA_SOURCE (new_primary_source), NULL); #line 697 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetKeyPhotoCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_DATA_SOURCE, DataSource), RESOURCES_MAKE_KEY_PHOTO_LABEL, ""); #line 699 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (new_primary_source); #line 699 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->new_primary_source); #line 699 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_primary_source = _tmp0_; #line 700 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = event_get_primary_source (event); #line 700 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->old_primary_source); #line 700 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_primary_source = _tmp1_; #line 696 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8151 "Commands.c" } SetKeyPhotoCommand* set_key_photo_command_new (Event* event, MediaSource* new_primary_source) { #line 696 "/home/jens/Source/shotwell/src/Commands.vala" return set_key_photo_command_construct (TYPE_SET_KEY_PHOTO_COMMAND, event, new_primary_source); #line 8161 "Commands.c" } static void set_key_photo_command_real_execute (Command* base) { SetKeyPhotoCommand * self; DataSource* _tmp0_; MediaSource* _tmp1_; #line 703 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommand); #line 704 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 704 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->new_primary_source; #line 704 "/home/jens/Source/shotwell/src/Commands.vala" event_set_primary_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event), _tmp1_); #line 8179 "Commands.c" } static void set_key_photo_command_real_undo (Command* base) { SetKeyPhotoCommand * self; DataSource* _tmp0_; MediaSource* _tmp1_; #line 707 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommand); #line 708 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 708 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_primary_source; #line 708 "/home/jens/Source/shotwell/src/Commands.vala" event_set_primary_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event), _tmp1_); #line 8197 "Commands.c" } static void set_key_photo_command_class_init (SetKeyPhotoCommandClass * klass) { #line 692 "/home/jens/Source/shotwell/src/Commands.vala" set_key_photo_command_parent_class = g_type_class_peek_parent (klass); #line 692 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (SetKeyPhotoCommandPrivate)); #line 692 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) set_key_photo_command_real_execute; #line 692 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) set_key_photo_command_real_undo; #line 692 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = set_key_photo_command_finalize; #line 8214 "Commands.c" } static void set_key_photo_command_instance_init (SetKeyPhotoCommand * self) { #line 692 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = SET_KEY_PHOTO_COMMAND_GET_PRIVATE (self); #line 8223 "Commands.c" } static void set_key_photo_command_finalize (GObject * obj) { SetKeyPhotoCommand * self; #line 692 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommand); #line 693 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->new_primary_source); #line 694 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->old_primary_source); #line 692 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (set_key_photo_command_parent_class)->finalize (obj); #line 8239 "Commands.c" } GType set_key_photo_command_get_type (void) { static volatile gsize set_key_photo_command_type_id__volatile = 0; if (g_once_init_enter (&set_key_photo_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SetKeyPhotoCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_key_photo_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetKeyPhotoCommand), 0, (GInstanceInitFunc) set_key_photo_command_instance_init, NULL }; GType set_key_photo_command_type_id; set_key_photo_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "SetKeyPhotoCommand", &g_define_type_info, 0); g_once_init_leave (&set_key_photo_command_type_id__volatile, set_key_photo_command_type_id); } return set_key_photo_command_type_id__volatile; } RevertSingleCommand* revert_single_command_construct (GType object_type, Photo* photo) { RevertSingleCommand * self = NULL; #line 713 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 714 "/home/jens/Source/shotwell/src/Commands.vala" self = (RevertSingleCommand*) generic_photo_transformation_command_construct (object_type, photo, RESOURCES_REVERT_LABEL, ""); #line 713 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8268 "Commands.c" } RevertSingleCommand* revert_single_command_new (Photo* photo) { #line 713 "/home/jens/Source/shotwell/src/Commands.vala" return revert_single_command_construct (TYPE_REVERT_SINGLE_COMMAND, photo); #line 8277 "Commands.c" } static void revert_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { RevertSingleCommand * self; #line 717 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommand); #line 717 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PHOTO (photo)); #line 718 "/home/jens/Source/shotwell/src/Commands.vala" photo_remove_all_transformations (photo); #line 8292 "Commands.c" } static gboolean revert_single_command_real_compress (Command* base, Command* command) { RevertSingleCommand * self; gboolean result = FALSE; RevertSingleCommand* revert_single_command = NULL; RevertSingleCommand* _tmp0_; RevertSingleCommand* _tmp1_; RevertSingleCommand* _tmp2_; DataSource* _tmp3_; DataSource* _tmp4_; #line 721 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommand); #line 721 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_COMMAND (command), FALSE); #line 722 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (command, TYPE_REVERT_SINGLE_COMMAND) ? ((RevertSingleCommand*) command) : NULL); #line 722 "/home/jens/Source/shotwell/src/Commands.vala" revert_single_command = _tmp0_; #line 723 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = revert_single_command; #line 723 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ == NULL) { #line 724 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 724 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (revert_single_command); #line 724 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 8326 "Commands.c" } #line 726 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = revert_single_command; #line 726 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 726 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 726 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != _tmp4_) { #line 727 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 727 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (revert_single_command); #line 727 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 8342 "Commands.c" } #line 731 "/home/jens/Source/shotwell/src/Commands.vala" result = TRUE; #line 731 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (revert_single_command); #line 731 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 8350 "Commands.c" } static void revert_single_command_class_init (RevertSingleCommandClass * klass) { #line 712 "/home/jens/Source/shotwell/src/Commands.vala" revert_single_command_parent_class = g_type_class_peek_parent (klass); #line 712 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) revert_single_command_real_execute_on_photo; #line 712 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->compress = (gboolean (*) (Command *, Command*)) revert_single_command_real_compress; #line 8363 "Commands.c" } static void revert_single_command_instance_init (RevertSingleCommand * self) { } GType revert_single_command_get_type (void) { static volatile gsize revert_single_command_type_id__volatile = 0; if (g_once_init_enter (&revert_single_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RevertSingleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) revert_single_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RevertSingleCommand), 0, (GInstanceInitFunc) revert_single_command_instance_init, NULL }; GType revert_single_command_type_id; revert_single_command_type_id = g_type_register_static (TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, "RevertSingleCommand", &g_define_type_info, 0); g_once_init_leave (&revert_single_command_type_id__volatile, revert_single_command_type_id); } return revert_single_command_type_id__volatile; } RevertMultipleCommand* revert_multiple_command_construct (GType object_type, GeeIterable* iter) { RevertMultipleCommand * self = NULL; #line 736 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 737 "/home/jens/Source/shotwell/src/Commands.vala" self = (RevertMultipleCommand*) multiple_photo_transformation_command_construct (object_type, iter, _ ("Reverting"), _ ("Undoing Revert"), RESOURCES_REVERT_LABEL, ""); #line 736 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8398 "Commands.c" } RevertMultipleCommand* revert_multiple_command_new (GeeIterable* iter) { #line 736 "/home/jens/Source/shotwell/src/Commands.vala" return revert_multiple_command_construct (TYPE_REVERT_MULTIPLE_COMMAND, iter); #line 8407 "Commands.c" } static void revert_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { RevertMultipleCommand * self; #line 741 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommand); #line 741 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 742 "/home/jens/Source/shotwell/src/Commands.vala" photo_remove_all_transformations (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_PHOTO, Photo)); #line 8422 "Commands.c" } static void revert_multiple_command_class_init (RevertMultipleCommandClass * klass) { #line 735 "/home/jens/Source/shotwell/src/Commands.vala" revert_multiple_command_parent_class = g_type_class_peek_parent (klass); #line 735 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) revert_multiple_command_real_execute_on_source; #line 8433 "Commands.c" } static void revert_multiple_command_instance_init (RevertMultipleCommand * self) { } GType revert_multiple_command_get_type (void) { static volatile gsize revert_multiple_command_type_id__volatile = 0; if (g_once_init_enter (&revert_multiple_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RevertMultipleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) revert_multiple_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RevertMultipleCommand), 0, (GInstanceInitFunc) revert_multiple_command_instance_init, NULL }; GType revert_multiple_command_type_id; revert_multiple_command_type_id = g_type_register_static (TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, "RevertMultipleCommand", &g_define_type_info, 0); g_once_init_leave (&revert_multiple_command_type_id__volatile, revert_multiple_command_type_id); } return revert_multiple_command_type_id__volatile; } EnhanceSingleCommand* enhance_single_command_construct (GType object_type, Photo* photo) { EnhanceSingleCommand * self = NULL; #line 747 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 748 "/home/jens/Source/shotwell/src/Commands.vala" self = (EnhanceSingleCommand*) generic_photo_transformation_command_construct (object_type, photo, RESOURCES_ENHANCE_LABEL, RESOURCES_ENHANCE_TOOLTIP); #line 747 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8468 "Commands.c" } EnhanceSingleCommand* enhance_single_command_new (Photo* photo) { #line 747 "/home/jens/Source/shotwell/src/Commands.vala" return enhance_single_command_construct (TYPE_ENHANCE_SINGLE_COMMAND, photo); #line 8477 "Commands.c" } static void enhance_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { EnhanceSingleCommand * self; AppWindow* _tmp0_; AppWindow* _tmp1_; AppWindow* _tmp2_; AppWindow* _tmp3_; #line 751 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommand); #line 751 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PHOTO (photo)); #line 752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = app_window_get_instance (); #line 752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 752 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 752 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 757 "/home/jens/Source/shotwell/src/Commands.vala" photo_enhance (photo); #line 763 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = app_window_get_instance (); #line 763 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 763 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PAGE_WINDOW, PageWindow)); #line 763 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 8512 "Commands.c" } static gboolean enhance_single_command_real_compress (Command* base, Command* command) { EnhanceSingleCommand * self; gboolean result = FALSE; EnhanceSingleCommand* enhance_single_command = NULL; EnhanceSingleCommand* _tmp0_; EnhanceSingleCommand* _tmp1_; EnhanceSingleCommand* _tmp2_; DataSource* _tmp3_; DataSource* _tmp4_; #line 766 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommand); #line 766 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_COMMAND (command), FALSE); #line 767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (command, TYPE_ENHANCE_SINGLE_COMMAND) ? ((EnhanceSingleCommand*) command) : NULL); #line 767 "/home/jens/Source/shotwell/src/Commands.vala" enhance_single_command = _tmp0_; #line 768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = enhance_single_command; #line 768 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ == NULL) { #line 769 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 769 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (enhance_single_command); #line 769 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 8546 "Commands.c" } #line 771 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = enhance_single_command; #line 771 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 771 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 771 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != _tmp4_) { #line 772 "/home/jens/Source/shotwell/src/Commands.vala" result = FALSE; #line 772 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (enhance_single_command); #line 772 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 8562 "Commands.c" } #line 775 "/home/jens/Source/shotwell/src/Commands.vala" result = TRUE; #line 775 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (enhance_single_command); #line 775 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 8570 "Commands.c" } static void enhance_single_command_class_init (EnhanceSingleCommandClass * klass) { #line 746 "/home/jens/Source/shotwell/src/Commands.vala" enhance_single_command_parent_class = g_type_class_peek_parent (klass); #line 746 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) enhance_single_command_real_execute_on_photo; #line 746 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->compress = (gboolean (*) (Command *, Command*)) enhance_single_command_real_compress; #line 8583 "Commands.c" } static void enhance_single_command_instance_init (EnhanceSingleCommand * self) { } GType enhance_single_command_get_type (void) { static volatile gsize enhance_single_command_type_id__volatile = 0; if (g_once_init_enter (&enhance_single_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EnhanceSingleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) enhance_single_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EnhanceSingleCommand), 0, (GInstanceInitFunc) enhance_single_command_instance_init, NULL }; GType enhance_single_command_type_id; enhance_single_command_type_id = g_type_register_static (TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, "EnhanceSingleCommand", &g_define_type_info, 0); g_once_init_leave (&enhance_single_command_type_id__volatile, enhance_single_command_type_id); } return enhance_single_command_type_id__volatile; } EnhanceMultipleCommand* enhance_multiple_command_construct (GType object_type, GeeIterable* iter) { EnhanceMultipleCommand * self = NULL; #line 780 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 781 "/home/jens/Source/shotwell/src/Commands.vala" self = (EnhanceMultipleCommand*) multiple_photo_transformation_command_construct (object_type, iter, _ ("Enhancing"), _ ("Undoing Enhance"), RESOURCES_ENHANCE_LABEL, RESOURCES_ENHANCE_TOOLTIP); #line 780 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8618 "Commands.c" } EnhanceMultipleCommand* enhance_multiple_command_new (GeeIterable* iter) { #line 780 "/home/jens/Source/shotwell/src/Commands.vala" return enhance_multiple_command_construct (TYPE_ENHANCE_MULTIPLE_COMMAND, iter); #line 8627 "Commands.c" } static void enhance_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { EnhanceMultipleCommand * self; #line 785 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommand); #line 785 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 786 "/home/jens/Source/shotwell/src/Commands.vala" photo_enhance (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_PHOTO, Photo)); #line 8642 "Commands.c" } static void enhance_multiple_command_class_init (EnhanceMultipleCommandClass * klass) { #line 779 "/home/jens/Source/shotwell/src/Commands.vala" enhance_multiple_command_parent_class = g_type_class_peek_parent (klass); #line 779 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) enhance_multiple_command_real_execute_on_source; #line 8653 "Commands.c" } static void enhance_multiple_command_instance_init (EnhanceMultipleCommand * self) { } GType enhance_multiple_command_get_type (void) { static volatile gsize enhance_multiple_command_type_id__volatile = 0; if (g_once_init_enter (&enhance_multiple_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (EnhanceMultipleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) enhance_multiple_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EnhanceMultipleCommand), 0, (GInstanceInitFunc) enhance_multiple_command_instance_init, NULL }; GType enhance_multiple_command_type_id; enhance_multiple_command_type_id = g_type_register_static (TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, "EnhanceMultipleCommand", &g_define_type_info, 0); g_once_init_leave (&enhance_multiple_command_type_id__volatile, enhance_multiple_command_type_id); } return enhance_multiple_command_type_id__volatile; } StraightenCommand* straighten_command_construct (GType object_type, Photo* photo, gdouble theta, Box* crop, const gchar* name, const gchar* explanation) { StraightenCommand * self = NULL; Box _tmp0_; #line 794 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 794 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (crop != NULL, NULL); #line 794 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 794 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 795 "/home/jens/Source/shotwell/src/Commands.vala" self = (StraightenCommand*) generic_photo_transformation_command_construct (object_type, photo, name, explanation); #line 797 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->theta = theta; #line 798 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = *crop; #line 798 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->crop = _tmp0_; #line 794 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8705 "Commands.c" } StraightenCommand* straighten_command_new (Photo* photo, gdouble theta, Box* crop, const gchar* name, const gchar* explanation) { #line 794 "/home/jens/Source/shotwell/src/Commands.vala" return straighten_command_construct (TYPE_STRAIGHTEN_COMMAND, photo, theta, crop, name, explanation); #line 8718 "Commands.c" } static void straighten_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { StraightenCommand * self; DataCollection* collection = NULL; DataCollection* _tmp0_; DataCollection* _tmp1_; gdouble _tmp3_; Box _tmp4_; DataCollection* _tmp5_; #line 801 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRAIGHTEN_COMMAND, StraightenCommand); #line 801 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PHOTO (photo)); #line 803 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_DATA_OBJECT, DataObject)); #line 803 "/home/jens/Source/shotwell/src/Commands.vala" collection = _tmp0_; #line 804 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = collection; #line 804 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ != NULL) { #line 8745 "Commands.c" DataCollection* _tmp2_; #line 805 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = collection; #line 805 "/home/jens/Source/shotwell/src/Commands.vala" data_collection_freeze_notifications (_tmp2_); #line 8751 "Commands.c" } #line 807 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->theta; #line 807 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_straighten (photo, _tmp3_); #line 808 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->crop; #line 808 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_crop (photo, &_tmp4_); #line 810 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = collection; #line 810 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp5_ != NULL) { #line 8765 "Commands.c" DataCollection* _tmp6_; #line 811 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = collection; #line 811 "/home/jens/Source/shotwell/src/Commands.vala" data_collection_thaw_notifications (_tmp6_); #line 8771 "Commands.c" } #line 801 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (collection); #line 8775 "Commands.c" } static void straighten_command_class_init (StraightenCommandClass * klass) { #line 790 "/home/jens/Source/shotwell/src/Commands.vala" straighten_command_parent_class = g_type_class_peek_parent (klass); #line 790 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (StraightenCommandPrivate)); #line 790 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) straighten_command_real_execute_on_photo; #line 790 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = straighten_command_finalize; #line 8790 "Commands.c" } static void straighten_command_instance_init (StraightenCommand * self) { #line 790 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = STRAIGHTEN_COMMAND_GET_PRIVATE (self); #line 8799 "Commands.c" } static void straighten_command_finalize (GObject * obj) { StraightenCommand * self; #line 790 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_STRAIGHTEN_COMMAND, StraightenCommand); #line 790 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (straighten_command_parent_class)->finalize (obj); #line 8811 "Commands.c" } GType straighten_command_get_type (void) { static volatile gsize straighten_command_type_id__volatile = 0; if (g_once_init_enter (&straighten_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (StraightenCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) straighten_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StraightenCommand), 0, (GInstanceInitFunc) straighten_command_instance_init, NULL }; GType straighten_command_type_id; straighten_command_type_id = g_type_register_static (TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, "StraightenCommand", &g_define_type_info, 0); g_once_init_leave (&straighten_command_type_id__volatile, straighten_command_type_id); } return straighten_command_type_id__volatile; } CropCommand* crop_command_construct (GType object_type, Photo* photo, Box* crop, const gchar* name, const gchar* explanation) { CropCommand * self = NULL; Box _tmp0_; #line 818 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 818 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (crop != NULL, NULL); #line 818 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 818 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 819 "/home/jens/Source/shotwell/src/Commands.vala" self = (CropCommand*) generic_photo_transformation_command_construct (object_type, photo, name, explanation); #line 821 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = *crop; #line 821 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->crop = _tmp0_; #line 818 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8854 "Commands.c" } CropCommand* crop_command_new (Photo* photo, Box* crop, const gchar* name, const gchar* explanation) { #line 818 "/home/jens/Source/shotwell/src/Commands.vala" return crop_command_construct (TYPE_CROP_COMMAND, photo, crop, name, explanation); #line 8866 "Commands.c" } static void crop_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { CropCommand * self; Box _tmp0_; #line 824 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CROP_COMMAND, CropCommand); #line 824 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PHOTO (photo)); #line 825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->crop; #line 825 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_crop (photo, &_tmp0_); #line 8884 "Commands.c" } static void crop_command_class_init (CropCommandClass * klass) { #line 815 "/home/jens/Source/shotwell/src/Commands.vala" crop_command_parent_class = g_type_class_peek_parent (klass); #line 815 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (CropCommandPrivate)); #line 815 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) crop_command_real_execute_on_photo; #line 815 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = crop_command_finalize; #line 8899 "Commands.c" } static void crop_command_instance_init (CropCommand * self) { #line 815 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = CROP_COMMAND_GET_PRIVATE (self); #line 8908 "Commands.c" } static void crop_command_finalize (GObject * obj) { CropCommand * self; #line 815 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CROP_COMMAND, CropCommand); #line 815 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (crop_command_parent_class)->finalize (obj); #line 8920 "Commands.c" } GType crop_command_get_type (void) { static volatile gsize crop_command_type_id__volatile = 0; if (g_once_init_enter (&crop_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CropCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) crop_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CropCommand), 0, (GInstanceInitFunc) crop_command_instance_init, NULL }; GType crop_command_type_id; crop_command_type_id = g_type_register_static (TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, "CropCommand", &g_define_type_info, 0); g_once_init_leave (&crop_command_type_id__volatile, crop_command_type_id); } return crop_command_type_id__volatile; } static gpointer _pixel_transformation_bundle_ref0 (gpointer self) { #line 836 "/home/jens/Source/shotwell/src/Commands.vala" return self ? pixel_transformation_bundle_ref (self) : NULL; #line 8943 "Commands.c" } AdjustColorsSingleCommand* adjust_colors_single_command_construct (GType object_type, Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation) { AdjustColorsSingleCommand * self = NULL; PixelTransformationBundle* _tmp0_; #line 832 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 832 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (transformations), NULL); #line 832 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 832 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 834 "/home/jens/Source/shotwell/src/Commands.vala" self = (AdjustColorsSingleCommand*) generic_photo_transformation_command_construct (object_type, photo, name, explanation); #line 836 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _pixel_transformation_bundle_ref0 (transformations); #line 836 "/home/jens/Source/shotwell/src/Commands.vala" _pixel_transformation_bundle_unref0 (self->priv->transformations); #line 836 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->transformations = _tmp0_; #line 832 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 8974 "Commands.c" } AdjustColorsSingleCommand* adjust_colors_single_command_new (Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation) { #line 832 "/home/jens/Source/shotwell/src/Commands.vala" return adjust_colors_single_command_construct (TYPE_ADJUST_COLORS_SINGLE_COMMAND, photo, transformations, name, explanation); #line 8986 "Commands.c" } static void adjust_colors_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { AdjustColorsSingleCommand * self; AppWindow* _tmp0_; AppWindow* _tmp1_; PixelTransformationBundle* _tmp2_; AppWindow* _tmp3_; AppWindow* _tmp4_; #line 839 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommand); #line 839 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PHOTO (photo)); #line 840 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = app_window_get_instance (); #line 840 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 840 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 840 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 842 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->transformations; #line 842 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_color_adjustments (photo, _tmp2_); #line 844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = app_window_get_instance (); #line 844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 844 "/home/jens/Source/shotwell/src/Commands.vala" page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PAGE_WINDOW, PageWindow)); #line 844 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 9024 "Commands.c" } static gboolean adjust_colors_single_command_real_can_compress (GenericPhotoTransformationCommand* base, Command* command) { AdjustColorsSingleCommand * self; gboolean result = FALSE; #line 847 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommand); #line 847 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_COMMAND (command), FALSE); #line 848 "/home/jens/Source/shotwell/src/Commands.vala" result = G_TYPE_CHECK_INSTANCE_TYPE (command, TYPE_ADJUST_COLORS_SINGLE_COMMAND); #line 848 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 9042 "Commands.c" } static void adjust_colors_single_command_class_init (AdjustColorsSingleCommandClass * klass) { #line 829 "/home/jens/Source/shotwell/src/Commands.vala" adjust_colors_single_command_parent_class = g_type_class_peek_parent (klass); #line 829 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (AdjustColorsSingleCommandPrivate)); #line 829 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) adjust_colors_single_command_real_execute_on_photo; #line 829 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->can_compress = (gboolean (*) (GenericPhotoTransformationCommand *, Command*)) adjust_colors_single_command_real_can_compress; #line 829 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = adjust_colors_single_command_finalize; #line 9059 "Commands.c" } static void adjust_colors_single_command_instance_init (AdjustColorsSingleCommand * self) { #line 829 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ADJUST_COLORS_SINGLE_COMMAND_GET_PRIVATE (self); #line 9068 "Commands.c" } static void adjust_colors_single_command_finalize (GObject * obj) { AdjustColorsSingleCommand * self; #line 829 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommand); #line 830 "/home/jens/Source/shotwell/src/Commands.vala" _pixel_transformation_bundle_unref0 (self->priv->transformations); #line 829 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (adjust_colors_single_command_parent_class)->finalize (obj); #line 9082 "Commands.c" } GType adjust_colors_single_command_get_type (void) { static volatile gsize adjust_colors_single_command_type_id__volatile = 0; if (g_once_init_enter (&adjust_colors_single_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (AdjustColorsSingleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) adjust_colors_single_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AdjustColorsSingleCommand), 0, (GInstanceInitFunc) adjust_colors_single_command_instance_init, NULL }; GType adjust_colors_single_command_type_id; adjust_colors_single_command_type_id = g_type_register_static (TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, "AdjustColorsSingleCommand", &g_define_type_info, 0); g_once_init_leave (&adjust_colors_single_command_type_id__volatile, adjust_colors_single_command_type_id); } return adjust_colors_single_command_type_id__volatile; } AdjustColorsMultipleCommand* adjust_colors_multiple_command_construct (GType object_type, GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation) { AdjustColorsMultipleCommand * self = NULL; PixelTransformationBundle* _tmp0_; #line 855 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 855 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (transformations), NULL); #line 855 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 855 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 857 "/home/jens/Source/shotwell/src/Commands.vala" self = (AdjustColorsMultipleCommand*) multiple_photo_transformation_command_construct (object_type, iter, _ ("Applying Color Transformations"), _ ("Undoing Color Transformations"), name, explanation); #line 860 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _pixel_transformation_bundle_ref0 (transformations); #line 860 "/home/jens/Source/shotwell/src/Commands.vala" _pixel_transformation_bundle_unref0 (self->priv->transformations); #line 860 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->transformations = _tmp0_; #line 855 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 9127 "Commands.c" } AdjustColorsMultipleCommand* adjust_colors_multiple_command_new (GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation) { #line 855 "/home/jens/Source/shotwell/src/Commands.vala" return adjust_colors_multiple_command_construct (TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, iter, transformations, name, explanation); #line 9139 "Commands.c" } static void adjust_colors_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { AdjustColorsMultipleCommand * self; PixelTransformationBundle* _tmp0_; #line 863 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommand); #line 863 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 864 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->transformations; #line 864 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_color_adjustments (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_PHOTO, Photo), _tmp0_); #line 9157 "Commands.c" } static void adjust_colors_multiple_command_class_init (AdjustColorsMultipleCommandClass * klass) { #line 852 "/home/jens/Source/shotwell/src/Commands.vala" adjust_colors_multiple_command_parent_class = g_type_class_peek_parent (klass); #line 852 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (AdjustColorsMultipleCommandPrivate)); #line 852 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) adjust_colors_multiple_command_real_execute_on_source; #line 852 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = adjust_colors_multiple_command_finalize; #line 9172 "Commands.c" } static void adjust_colors_multiple_command_instance_init (AdjustColorsMultipleCommand * self) { #line 852 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ADJUST_COLORS_MULTIPLE_COMMAND_GET_PRIVATE (self); #line 9181 "Commands.c" } static void adjust_colors_multiple_command_finalize (GObject * obj) { AdjustColorsMultipleCommand * self; #line 852 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommand); #line 853 "/home/jens/Source/shotwell/src/Commands.vala" _pixel_transformation_bundle_unref0 (self->priv->transformations); #line 852 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (adjust_colors_multiple_command_parent_class)->finalize (obj); #line 9195 "Commands.c" } GType adjust_colors_multiple_command_get_type (void) { static volatile gsize adjust_colors_multiple_command_type_id__volatile = 0; if (g_once_init_enter (&adjust_colors_multiple_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (AdjustColorsMultipleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) adjust_colors_multiple_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AdjustColorsMultipleCommand), 0, (GInstanceInitFunc) adjust_colors_multiple_command_instance_init, NULL }; GType adjust_colors_multiple_command_type_id; adjust_colors_multiple_command_type_id = g_type_register_static (TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, "AdjustColorsMultipleCommand", &g_define_type_info, 0); g_once_init_leave (&adjust_colors_multiple_command_type_id__volatile, adjust_colors_multiple_command_type_id); } return adjust_colors_multiple_command_type_id__volatile; } RedeyeCommand* redeye_command_construct (GType object_type, Photo* photo, EditingToolsRedeyeInstance* redeye_instance, const gchar* name, const gchar* explanation) { RedeyeCommand * self = NULL; EditingToolsRedeyeInstance _tmp0_; #line 871 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_PHOTO (photo), NULL); #line 871 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (redeye_instance != NULL, NULL); #line 871 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 871 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 873 "/home/jens/Source/shotwell/src/Commands.vala" self = (RedeyeCommand*) generic_photo_transformation_command_construct (object_type, photo, name, explanation); #line 875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = *redeye_instance; #line 875 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->redeye_instance = _tmp0_; #line 871 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 9238 "Commands.c" } RedeyeCommand* redeye_command_new (Photo* photo, EditingToolsRedeyeInstance* redeye_instance, const gchar* name, const gchar* explanation) { #line 871 "/home/jens/Source/shotwell/src/Commands.vala" return redeye_command_construct (TYPE_REDEYE_COMMAND, photo, redeye_instance, name, explanation); #line 9250 "Commands.c" } static void redeye_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { RedeyeCommand * self; EditingToolsRedeyeInstance _tmp0_; #line 878 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_REDEYE_COMMAND, RedeyeCommand); #line 878 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_PHOTO (photo)); #line 879 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->redeye_instance; #line 879 "/home/jens/Source/shotwell/src/Commands.vala" photo_add_redeye_instance (photo, &_tmp0_); #line 9268 "Commands.c" } static void redeye_command_class_init (RedeyeCommandClass * klass) { #line 868 "/home/jens/Source/shotwell/src/Commands.vala" redeye_command_parent_class = g_type_class_peek_parent (klass); #line 868 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (RedeyeCommandPrivate)); #line 868 "/home/jens/Source/shotwell/src/Commands.vala" ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = (void (*) (GenericPhotoTransformationCommand *, Photo*)) redeye_command_real_execute_on_photo; #line 868 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = redeye_command_finalize; #line 9283 "Commands.c" } static void redeye_command_instance_init (RedeyeCommand * self) { #line 868 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = REDEYE_COMMAND_GET_PRIVATE (self); #line 9292 "Commands.c" } static void redeye_command_finalize (GObject * obj) { RedeyeCommand * self; #line 868 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_REDEYE_COMMAND, RedeyeCommand); #line 868 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (redeye_command_parent_class)->finalize (obj); #line 9304 "Commands.c" } GType redeye_command_get_type (void) { static volatile gsize redeye_command_type_id__volatile = 0; if (g_once_init_enter (&redeye_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RedeyeCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) redeye_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RedeyeCommand), 0, (GInstanceInitFunc) redeye_command_instance_init, NULL }; GType redeye_command_type_id; redeye_command_type_id = g_type_register_static (TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, "RedeyeCommand", &g_define_type_info, 0); g_once_init_leave (&redeye_command_type_id__volatile, redeye_command_type_id); } return redeye_command_type_id__volatile; } MovePhotosCommand* move_photos_command_construct (GType object_type, const gchar* name, const gchar* explanation) { MovePhotosCommand * self = NULL; #line 967 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 967 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 968 "/home/jens/Source/shotwell/src/Commands.vala" self = (MovePhotosCommand*) command_construct (object_type, name, explanation); #line 967 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 9336 "Commands.c" } static void move_photos_command_real_prepare (Command* base) { MovePhotosCommand * self; MovePhotosCommandRealMovePhotosCommand* _tmp0_; MovePhotosCommandRealMovePhotosCommand* _tmp1_; #line 971 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand); #line 972 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->real_command; #line 972 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "real_command != null"); #line 973 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->real_command; #line 973 "/home/jens/Source/shotwell/src/Commands.vala" command_prepare (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COMMAND, Command)); #line 9356 "Commands.c" } static void move_photos_command_real_execute (Command* base) { MovePhotosCommand * self; MovePhotosCommandRealMovePhotosCommand* _tmp0_; MovePhotosCommandRealMovePhotosCommand* _tmp1_; #line 976 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand); #line 977 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->real_command; #line 977 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "real_command != null"); #line 978 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->real_command; #line 978 "/home/jens/Source/shotwell/src/Commands.vala" command_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COMMAND, Command)); #line 9376 "Commands.c" } static void move_photos_command_real_undo (Command* base) { MovePhotosCommand * self; MovePhotosCommandRealMovePhotosCommand* _tmp0_; MovePhotosCommandRealMovePhotosCommand* _tmp1_; #line 981 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand); #line 982 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->real_command; #line 982 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "real_command != null"); #line 983 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->real_command; #line 983 "/home/jens/Source/shotwell/src/Commands.vala" command_undo (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COMMAND, Command)); #line 9396 "Commands.c" } static void _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self) { #line 914 "/home/jens/Source/shotwell/src/Commands.vala" move_photos_command_real_move_photos_command_on_proxy_broken ((MovePhotosCommandRealMovePhotosCommand*) self); #line 9406 "Commands.c" } static gpointer _source_proxy_ref0 (gpointer self) { #line 899 "/home/jens/Source/shotwell/src/Commands.vala" return self ? source_proxy_ref (self) : NULL; #line 9415 "Commands.c" } MovePhotosCommandRealMovePhotosCommand* move_photos_command_real_move_photos_command_construct (GType object_type, Event* new_event, GeeIterable* source_views, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation) { MovePhotosCommandRealMovePhotosCommand * self = NULL; SourceProxy* _tmp25_; SourceProxy* _tmp26_; #line 891 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail ((new_event == NULL) || IS_EVENT (new_event), NULL); #line 891 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (source_views), NULL); #line 891 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (progress_text != NULL, NULL); #line 891 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (undo_progress_text != NULL, NULL); #line 891 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (name != NULL, NULL); #line 891 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (explanation != NULL, NULL); #line 893 "/home/jens/Source/shotwell/src/Commands.vala" self = (MovePhotosCommandRealMovePhotosCommand*) multiple_data_source_command_construct (object_type, source_views, progress_text, undo_progress_text, name, explanation); #line 9445 "Commands.c" { GeeArrayList* _source_list = NULL; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _source_size = 0; GeeArrayList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _source_index = 0; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _source_list = _tmp1_; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_list; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _source_size = _tmp4_; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _source_index = -1; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 9473 "Commands.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; DataSource* source = NULL; GeeArrayList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaSource* current_media = NULL; DataSource* _tmp11_; MediaSource* _tmp12_; Event* old_event = NULL; MediaSource* _tmp13_; Event* _tmp14_; SourceProxy* _tmp15_ = NULL; Event* _tmp16_; SourceProxy* old_event_proxy = NULL; SourceProxy* _tmp19_; SourceProxy* _tmp20_; GeeHashMap* _tmp22_; MediaSource* _tmp23_; SourceProxy* _tmp24_; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _source_index; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _source_index = _tmp5_ + 1; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _source_index; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _source_size; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp6_ < _tmp7_)) { #line 896 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 9507 "Commands.c" } #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _source_list; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _source_index; #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp10_; #line 897 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = source; #line 897 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource)); #line 897 "/home/jens/Source/shotwell/src/Commands.vala" current_media = _tmp12_; #line 898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = current_media; #line 898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = media_source_get_event (_tmp13_); #line 898 "/home/jens/Source/shotwell/src/Commands.vala" old_event = _tmp14_; #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = old_event; #line 899 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp16_ != NULL) { #line 9533 "Commands.c" Event* _tmp17_; SourceProxy* _tmp18_; #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = old_event; #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PROXYABLE, Proxyable)); #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp15_); #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _tmp18_; #line 9544 "Commands.c" } else { #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp15_); #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = NULL; #line 9550 "Commands.c" } #line 899 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _source_proxy_ref0 (_tmp15_); #line 899 "/home/jens/Source/shotwell/src/Commands.vala" old_event_proxy = _tmp19_; #line 902 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = old_event_proxy; #line 902 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp20_ != NULL) { #line 9560 "Commands.c" SourceProxy* _tmp21_; #line 903 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = old_event_proxy; #line 903 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp21_, "broken", (GCallback) _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken, self, 0); #line 9566 "Commands.c" } #line 905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = self->priv->old_events; #line 905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = current_media; #line 905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = old_event_proxy; #line 905 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp23_, _tmp24_); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (old_event_proxy); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp15_); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (old_event); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_media); #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 9586 "Commands.c" } #line 896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_list); #line 9590 "Commands.c" } #line 909 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (new_event, TYPE_PROXYABLE, Proxyable)); #line 909 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (self->priv->new_event_proxy); #line 909 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_event_proxy = _tmp25_; #line 910 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = self->priv->new_event_proxy; #line 910 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp26_, "broken", (GCallback) _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken, self, 0); #line 891 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 9604 "Commands.c" } MovePhotosCommandRealMovePhotosCommand* move_photos_command_real_move_photos_command_new (Event* new_event, GeeIterable* source_views, const gchar* progress_text, const gchar* undo_progress_text, const gchar* name, const gchar* explanation) { #line 891 "/home/jens/Source/shotwell/src/Commands.vala" return move_photos_command_real_move_photos_command_construct (MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, new_event, source_views, progress_text, undo_progress_text, name, explanation); #line 9618 "Commands.c" } static void move_photos_command_real_move_photos_command_real_execute (Command* base) { MovePhotosCommandRealMovePhotosCommand * self; LibraryWindow* _tmp0_; LibraryWindow* _tmp1_; Page* _tmp2_; Page* _tmp3_; gboolean _tmp4_; #line 922 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommand); #line 925 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (move_photos_command_real_move_photos_command_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_window_get_app (); #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_EVENT_PAGE); #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp1_); #line 928 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp4_) { #line 9651 "Commands.c" Event* evt = NULL; LibraryWindow* _tmp5_; LibraryWindow* _tmp6_; Page* _tmp7_; EventPage* _tmp8_; Event* _tmp9_; Event* _tmp10_; Event* _tmp11_; GeeArrayList* _tmp12_; gint _tmp13_; gint _tmp14_; #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = library_window_get_app (); #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE_WINDOW, PageWindow)); #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_EVENT_PAGE, EventPage); #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = event_page_get_event (_tmp8_); #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp8_); #line 929 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp6_); #line 929 "/home/jens/Source/shotwell/src/Commands.vala" evt = _tmp10_; #line 932 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = evt; #line 932 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; #line 932 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 932 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _tmp13_; #line 932 "/home/jens/Source/shotwell/src/Commands.vala" if (event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_EVENT_SOURCE, EventSource)) == _tmp14_) { #line 9691 "Commands.c" LibraryWindow* _tmp15_; LibraryWindow* _tmp16_; SourceProxy* _tmp17_; DataSource* _tmp18_; Event* _tmp19_; #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = library_window_get_app (); #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _tmp15_; #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = self->priv->new_event_proxy; #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = source_proxy_get_source (_tmp17_); #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_EVENT, Event); #line 935 "/home/jens/Source/shotwell/src/Commands.vala" library_window_switch_to_event (_tmp16_, _tmp19_); #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp19_); #line 935 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp16_); #line 9713 "Commands.c" } #line 928 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (evt); #line 9717 "Commands.c" } else { SourceProxy* _tmp20_; DataSource* _tmp21_; Event* _tmp22_; GeeArrayList* _tmp23_; gint _tmp24_; gint _tmp25_; gboolean _tmp26_; #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = self->priv->new_event_proxy; #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = source_proxy_get_source (_tmp20_); #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_EVENT, Event); #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _tmp24_; #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_EVENT_SOURCE, EventSource)) == _tmp25_; #line 941 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp22_); #line 941 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp26_) { #line 9744 "Commands.c" LibraryWindow* _tmp27_; LibraryWindow* _tmp28_; SourceProxy* _tmp29_; DataSource* _tmp30_; Event* _tmp31_; #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = library_window_get_app (); #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = _tmp27_; #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = self->priv->new_event_proxy; #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = source_proxy_get_source (_tmp29_); #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_EVENT, Event); #line 943 "/home/jens/Source/shotwell/src/Commands.vala" library_window_switch_to_event (_tmp28_, _tmp31_); #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp31_); #line 943 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp28_); #line 9766 "Commands.c" } } } static void move_photos_command_real_move_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { MovePhotosCommandRealMovePhotosCommand * self; SourceProxy* _tmp0_; DataSource* _tmp1_; Event* _tmp2_; #line 949 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommand); #line 949 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 950 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->new_event_proxy; #line 950 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = source_proxy_get_source (_tmp0_); #line 950 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_EVENT, Event); #line 950 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_event (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource), _tmp2_); #line 950 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp2_); #line 9794 "Commands.c" } static void move_photos_command_real_move_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { MovePhotosCommandRealMovePhotosCommand * self; MediaSource* current_media = NULL; MediaSource* _tmp0_; SourceProxy* event_proxy = NULL; GeeHashMap* _tmp1_; MediaSource* _tmp2_; gpointer _tmp3_; Event* _tmp4_ = NULL; SourceProxy* _tmp5_; MediaSource* _tmp8_; #line 953 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommand); #line 953 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 954 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource)); #line 954 "/home/jens/Source/shotwell/src/Commands.vala" current_media = _tmp0_; #line 955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_events; #line 955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = current_media; #line 955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_); #line 955 "/home/jens/Source/shotwell/src/Commands.vala" event_proxy = (SourceProxy*) _tmp3_; #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = event_proxy; #line 957 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp5_ != NULL) { #line 9832 "Commands.c" SourceProxy* _tmp6_; DataSource* _tmp7_; #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = event_proxy; #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = source_proxy_get_source (_tmp6_); #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_EVENT, Event); #line 9843 "Commands.c" } else { #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = NULL; #line 9849 "Commands.c" } #line 957 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = current_media; #line 957 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_event (_tmp8_, _tmp4_); #line 953 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 953 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (event_proxy); #line 953 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_media); #line 9861 "Commands.c" } static void move_photos_command_real_move_photos_command_on_proxy_broken (MovePhotosCommandRealMovePhotosCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 960 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (MOVE_PHOTOS_COMMAND_IS_REAL_MOVE_PHOTOS_COMMAND (self)); #line 961 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 961 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 961 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 961 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 9880 "Commands.c" } static void move_photos_command_real_move_photos_command_class_init (MovePhotosCommandRealMovePhotosCommandClass * klass) { #line 886 "/home/jens/Source/shotwell/src/Commands.vala" move_photos_command_real_move_photos_command_parent_class = g_type_class_peek_parent (klass); #line 886 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (MovePhotosCommandRealMovePhotosCommandPrivate)); #line 886 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) move_photos_command_real_move_photos_command_real_execute; #line 886 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) move_photos_command_real_move_photos_command_real_execute_on_source; #line 886 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) move_photos_command_real_move_photos_command_real_undo_on_source; #line 886 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = move_photos_command_real_move_photos_command_finalize; #line 9899 "Commands.c" } static void move_photos_command_real_move_photos_command_instance_init (MovePhotosCommandRealMovePhotosCommand * self) { GeeHashMap* _tmp0_; #line 886 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_GET_PRIVATE (self); #line 887 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_event_proxy = NULL; #line 888 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 888 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_events = _tmp0_; #line 9915 "Commands.c" } static void move_photos_command_real_move_photos_command_finalize (GObject * obj) { MovePhotosCommandRealMovePhotosCommand * self; SourceProxy* _tmp0_; guint _tmp1_; #line 886 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommand); #line 914 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->new_event_proxy; #line 914 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp1_, NULL, FALSE); #line 914 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken, self); #line 9933 "Commands.c" { GeeIterator* _proxy_it = NULL; GeeHashMap* _tmp2_; GeeCollection* _tmp3_; GeeCollection* _tmp4_; GeeCollection* _tmp5_; GeeIterator* _tmp6_; GeeIterator* _tmp7_; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->old_events; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp5_); #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_it = _tmp7_; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 9960 "Commands.c" GeeIterator* _tmp8_; SourceProxy* proxy = NULL; GeeIterator* _tmp9_; gpointer _tmp10_; SourceProxy* _tmp11_; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _proxy_it; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp8_)) { #line 916 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 9972 "Commands.c" } #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _proxy_it; #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_iterator_get (_tmp9_); #line 916 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp10_; #line 917 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = proxy; #line 917 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp11_ != NULL) { #line 9984 "Commands.c" SourceProxy* _tmp12_; guint _tmp13_; #line 918 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = proxy; #line 918 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp13_, NULL, FALSE); #line 918 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken, self); #line 9993 "Commands.c" } #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 9997 "Commands.c" } #line 916 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_it); #line 10001 "Commands.c" } #line 887 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (self->priv->new_event_proxy); #line 888 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->old_events); #line 886 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (move_photos_command_real_move_photos_command_parent_class)->finalize (obj); #line 10009 "Commands.c" } GType move_photos_command_real_move_photos_command_get_type (void) { static volatile gsize move_photos_command_real_move_photos_command_type_id__volatile = 0; if (g_once_init_enter (&move_photos_command_real_move_photos_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MovePhotosCommandRealMovePhotosCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) move_photos_command_real_move_photos_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MovePhotosCommandRealMovePhotosCommand), 0, (GInstanceInitFunc) move_photos_command_real_move_photos_command_instance_init, NULL }; GType move_photos_command_real_move_photos_command_type_id; move_photos_command_real_move_photos_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "MovePhotosCommandRealMovePhotosCommand", &g_define_type_info, 0); g_once_init_leave (&move_photos_command_real_move_photos_command_type_id__volatile, move_photos_command_real_move_photos_command_type_id); } return move_photos_command_real_move_photos_command_type_id__volatile; } static void move_photos_command_class_init (MovePhotosCommandClass * klass) { #line 883 "/home/jens/Source/shotwell/src/Commands.vala" move_photos_command_parent_class = g_type_class_peek_parent (klass); #line 883 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->prepare = (void (*) (Command *)) move_photos_command_real_prepare; #line 883 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) move_photos_command_real_execute; #line 883 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) move_photos_command_real_undo; #line 883 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = move_photos_command_finalize; #line 10040 "Commands.c" } static void move_photos_command_instance_init (MovePhotosCommand * self) { } static void move_photos_command_finalize (GObject * obj) { MovePhotosCommand * self; #line 883 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand); #line 965 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->real_command); #line 883 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (move_photos_command_parent_class)->finalize (obj); #line 10060 "Commands.c" } GType move_photos_command_get_type (void) { static volatile gsize move_photos_command_type_id__volatile = 0; if (g_once_init_enter (&move_photos_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MovePhotosCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) move_photos_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MovePhotosCommand), 0, (GInstanceInitFunc) move_photos_command_instance_init, NULL }; GType move_photos_command_type_id; move_photos_command_type_id = g_type_register_static (TYPE_COMMAND, "MovePhotosCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&move_photos_command_type_id__volatile, move_photos_command_type_id); } return move_photos_command_type_id__volatile; } NewEventCommand* new_event_command_construct (GType object_type, GeeIterable* iter) { NewEventCommand * self = NULL; MediaSource* key_source = NULL; MediaSource* _tmp9_; Event* new_event = NULL; MediaSource* _tmp10_; Event* _tmp11_; MovePhotosCommandRealMovePhotosCommand* _tmp12_; #line 988 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 989 "/home/jens/Source/shotwell/src/Commands.vala" self = (NewEventCommand*) move_photos_command_construct (object_type, RESOURCES_NEW_EVENT_LABEL, ""); #line 992 "/home/jens/Source/shotwell/src/Commands.vala" key_source = NULL; #line 10095 "Commands.c" { GeeIterator* _view_it = NULL; GeeIterator* _tmp0_; #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (iter); #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _view_it = _tmp0_; #line 993 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 10105 "Commands.c" GeeIterator* _tmp1_; DataView* view = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; MediaSource* current_source = NULL; DataView* _tmp4_; DataSource* _tmp5_; MediaSource* _tmp6_; #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _view_it; #line 993 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 993 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 10120 "Commands.c" } #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _view_it; #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 993 "/home/jens/Source/shotwell/src/Commands.vala" view = (DataView*) _tmp3_; #line 994 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = view; #line 994 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = data_view_get_source (_tmp4_); #line 994 "/home/jens/Source/shotwell/src/Commands.vala" current_source = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource); #line 996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = key_source; #line 996 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp6_ == NULL) { #line 10138 "Commands.c" MediaSource* _tmp7_; MediaSource* _tmp8_; #line 997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = current_source; #line 997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _g_object_ref0 (_tmp7_); #line 997 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (key_source); #line 997 "/home/jens/Source/shotwell/src/Commands.vala" key_source = _tmp8_; #line 998 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_source); #line 998 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 998 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 10155 "Commands.c" } #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_source); #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 10161 "Commands.c" } #line 993 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_view_it); #line 10165 "Commands.c" } #line 1003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = key_source; #line 1003 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp9_ != NULL, "key_source != null"); #line 1005 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = key_source; #line 1005 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = event_create_empty_event (_tmp10_); #line 1005 "/home/jens/Source/shotwell/src/Commands.vala" new_event = _tmp11_; #line 1007 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = move_photos_command_real_move_photos_command_new (new_event, iter, _ ("Creating New Event"), _ ("Removing Event"), RESOURCES_NEW_EVENT_LABEL, ""); #line 1007 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)->real_command); #line 1007 "/home/jens/Source/shotwell/src/Commands.vala" G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)->real_command = _tmp12_; #line 988 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (new_event); #line 988 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (key_source); #line 988 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 10189 "Commands.c" } NewEventCommand* new_event_command_new (GeeIterable* iter) { #line 988 "/home/jens/Source/shotwell/src/Commands.vala" return new_event_command_construct (TYPE_NEW_EVENT_COMMAND, iter); #line 10198 "Commands.c" } static void new_event_command_class_init (NewEventCommandClass * klass) { #line 987 "/home/jens/Source/shotwell/src/Commands.vala" new_event_command_parent_class = g_type_class_peek_parent (klass); #line 10207 "Commands.c" } static void new_event_command_instance_init (NewEventCommand * self) { } GType new_event_command_get_type (void) { static volatile gsize new_event_command_type_id__volatile = 0; if (g_once_init_enter (&new_event_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (NewEventCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) new_event_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NewEventCommand), 0, (GInstanceInitFunc) new_event_command_instance_init, NULL }; GType new_event_command_type_id; new_event_command_type_id = g_type_register_static (TYPE_MOVE_PHOTOS_COMMAND, "NewEventCommand", &g_define_type_info, 0); g_once_init_leave (&new_event_command_type_id__volatile, new_event_command_type_id); } return new_event_command_type_id__volatile; } SetEventCommand* set_event_command_construct (GType object_type, GeeIterable* iter, Event* new_event) { SetEventCommand * self = NULL; MovePhotosCommandRealMovePhotosCommand* _tmp0_; #line 1014 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1014 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_EVENT (new_event), NULL); #line 1015 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetEventCommand*) move_photos_command_construct (object_type, RESOURCES_SET_PHOTO_EVENT_LABEL, RESOURCES_SET_PHOTO_EVENT_TOOLTIP); #line 1017 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = move_photos_command_real_move_photos_command_new (new_event, iter, _ ("Moving Photos to New Event"), _ ("Setting Photos to Previous Event"), RESOURCES_SET_PHOTO_EVENT_LABEL, ""); #line 1017 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)->real_command); #line 1017 "/home/jens/Source/shotwell/src/Commands.vala" G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)->real_command = _tmp0_; #line 1014 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 10252 "Commands.c" } SetEventCommand* set_event_command_new (GeeIterable* iter, Event* new_event) { #line 1014 "/home/jens/Source/shotwell/src/Commands.vala" return set_event_command_construct (TYPE_SET_EVENT_COMMAND, iter, new_event); #line 10262 "Commands.c" } static void set_event_command_class_init (SetEventCommandClass * klass) { #line 1013 "/home/jens/Source/shotwell/src/Commands.vala" set_event_command_parent_class = g_type_class_peek_parent (klass); #line 10271 "Commands.c" } static void set_event_command_instance_init (SetEventCommand * self) { } GType set_event_command_get_type (void) { static volatile gsize set_event_command_type_id__volatile = 0; if (g_once_init_enter (&set_event_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SetEventCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_event_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetEventCommand), 0, (GInstanceInitFunc) set_event_command_instance_init, NULL }; GType set_event_command_type_id; set_event_command_type_id = g_type_register_static (TYPE_MOVE_PHOTOS_COMMAND, "SetEventCommand", &g_define_type_info, 0); g_once_init_leave (&set_event_command_type_id__volatile, set_event_command_type_id); } return set_event_command_type_id__volatile; } MergeEventsCommand* merge_events_command_construct (GType object_type, GeeIterable* iter) { MergeEventsCommand * self = NULL; Event* master_event = NULL; gint named_evt_src_count = 0; gint unnamed_evt_src_count = 0; GeeArrayList* media_thumbs = NULL; GeeArrayList* _tmp0_; Event* _tmp37_; GeeArrayList* _tmp38_; gint _tmp39_; gint _tmp40_; Event* _tmp41_; GeeArrayList* _tmp42_; MovePhotosCommandRealMovePhotosCommand* _tmp43_; #line 1024 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1025 "/home/jens/Source/shotwell/src/Commands.vala" self = (MergeEventsCommand*) move_photos_command_construct (object_type, RESOURCES_MERGE_LABEL, ""); #line 1031 "/home/jens/Source/shotwell/src/Commands.vala" master_event = NULL; #line 1032 "/home/jens/Source/shotwell/src/Commands.vala" named_evt_src_count = 0; #line 1033 "/home/jens/Source/shotwell/src/Commands.vala" unnamed_evt_src_count = 0; #line 1034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 1034 "/home/jens/Source/shotwell/src/Commands.vala" media_thumbs = _tmp0_; #line 10326 "Commands.c" { GeeIterator* _view_it = NULL; GeeIterator* _tmp1_; #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_iterable_iterator (iter); #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _view_it = _tmp1_; #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 10336 "Commands.c" GeeIterator* _tmp2_; DataView* view = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; Event* event = NULL; DataView* _tmp5_; DataSource* _tmp6_; Event* _tmp7_; #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _view_it; #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 10351 "Commands.c" } #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _view_it; #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" view = (DataView*) _tmp4_; #line 1037 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = view; #line 1037 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = data_view_get_source (_tmp5_); #line 1037 "/home/jens/Source/shotwell/src/Commands.vala" event = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT, Event); #line 1040 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = master_event; #line 1040 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ == NULL) { #line 10369 "Commands.c" Event* _tmp8_; Event* _tmp9_; Event* _tmp10_; Event* _tmp11_; #line 1043 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = event; #line 1043 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _g_object_ref0 (_tmp8_); #line 1043 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (master_event); #line 1043 "/home/jens/Source/shotwell/src/Commands.vala" master_event = _tmp9_; #line 1044 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = master_event; #line 1044 "/home/jens/Source/shotwell/src/Commands.vala" unnamed_evt_src_count = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_EVENT_SOURCE, EventSource)); #line 1045 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = event; #line 1045 "/home/jens/Source/shotwell/src/Commands.vala" if (event_has_name (_tmp11_)) { #line 10390 "Commands.c" Event* _tmp12_; #line 1046 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = master_event; #line 1046 "/home/jens/Source/shotwell/src/Commands.vala" named_evt_src_count = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_EVENT_SOURCE, EventSource)); #line 10396 "Commands.c" } } else { Event* _tmp13_; #line 1050 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = event; #line 1050 "/home/jens/Source/shotwell/src/Commands.vala" if (event_has_name (_tmp13_)) { #line 10404 "Commands.c" Event* _tmp14_; gint _tmp15_; #line 1051 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = event; #line 1051 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = named_evt_src_count; #line 1051 "/home/jens/Source/shotwell/src/Commands.vala" if (event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_EVENT_SOURCE, EventSource)) > _tmp15_) { #line 10413 "Commands.c" Event* _tmp16_; Event* _tmp17_; Event* _tmp18_; #line 1052 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = event; #line 1052 "/home/jens/Source/shotwell/src/Commands.vala" named_evt_src_count = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_EVENT_SOURCE, EventSource)); #line 1053 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = event; #line 1053 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = _g_object_ref0 (_tmp17_); #line 1053 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (master_event); #line 1053 "/home/jens/Source/shotwell/src/Commands.vala" master_event = _tmp18_; #line 10429 "Commands.c" } } else { gint _tmp19_; #line 1055 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = named_evt_src_count; #line 1055 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp19_ == 0) { #line 10437 "Commands.c" Event* _tmp20_; gint _tmp21_; #line 1059 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = event; #line 1059 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = unnamed_evt_src_count; #line 1059 "/home/jens/Source/shotwell/src/Commands.vala" if (event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_EVENT_SOURCE, EventSource)) > _tmp21_) { #line 10446 "Commands.c" Event* _tmp22_; Event* _tmp23_; Event* _tmp24_; #line 1060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = event; #line 1060 "/home/jens/Source/shotwell/src/Commands.vala" unnamed_evt_src_count = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_EVENT_SOURCE, EventSource)); #line 1061 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = event; #line 1061 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _g_object_ref0 (_tmp23_); #line 1061 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (master_event); #line 1061 "/home/jens/Source/shotwell/src/Commands.vala" master_event = _tmp24_; #line 10462 "Commands.c" } } } } { GeeIterator* _media_source_it = NULL; Event* _tmp25_; GeeCollection* _tmp26_; GeeCollection* _tmp27_; GeeIterator* _tmp28_; GeeIterator* _tmp29_; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = event; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_EVENT_SOURCE, EventSource)); #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _tmp26_; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = _tmp28_; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp27_); #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _media_source_it = _tmp29_; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 10490 "Commands.c" GeeIterator* _tmp30_; MediaSource* media_source = NULL; GeeIterator* _tmp31_; gpointer _tmp32_; GeeArrayList* _tmp33_; MediaSource* _tmp34_; ThumbnailView* _tmp35_; ThumbnailView* _tmp36_; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = _media_source_it; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp30_)) { #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 10505 "Commands.c" } #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = _media_source_it; #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = gee_iterator_get (_tmp31_); #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" media_source = (MediaSource*) _tmp32_; #line 1069 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = media_thumbs; #line 1069 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = media_source; #line 1069 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); #line 1069 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = _tmp35_; #line 1069 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp36_); #line 1069 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp36_); #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (media_source); #line 10527 "Commands.c" } #line 1068 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_media_source_it); #line 10531 "Commands.c" } #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (event); #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 10537 "Commands.c" } #line 1036 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_view_it); #line 10541 "Commands.c" } #line 1072 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = master_event; #line 1072 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp37_ != NULL, "master_event != null"); #line 1073 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = media_thumbs; #line 1073 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1073 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = _tmp39_; #line 1073 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp40_ > 0, "media_thumbs.size > 0"); #line 1075 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = master_event; #line 1075 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = media_thumbs; #line 1075 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = move_photos_command_real_move_photos_command_new (_tmp41_, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ITERABLE, GeeIterable), _ ("Merging"), _ ("Unmerging"), RESOURCES_MERGE_LABEL, ""); #line 1075 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)->real_command); #line 1075 "/home/jens/Source/shotwell/src/Commands.vala" G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)->real_command = _tmp43_; #line 1024 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (media_thumbs); #line 1024 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (master_event); #line 1024 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 10571 "Commands.c" } MergeEventsCommand* merge_events_command_new (GeeIterable* iter) { #line 1024 "/home/jens/Source/shotwell/src/Commands.vala" return merge_events_command_construct (TYPE_MERGE_EVENTS_COMMAND, iter); #line 10580 "Commands.c" } static void merge_events_command_class_init (MergeEventsCommandClass * klass) { #line 1023 "/home/jens/Source/shotwell/src/Commands.vala" merge_events_command_parent_class = g_type_class_peek_parent (klass); #line 10589 "Commands.c" } static void merge_events_command_instance_init (MergeEventsCommand * self) { } GType merge_events_command_get_type (void) { static volatile gsize merge_events_command_type_id__volatile = 0; if (g_once_init_enter (&merge_events_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MergeEventsCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) merge_events_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MergeEventsCommand), 0, (GInstanceInitFunc) merge_events_command_instance_init, NULL }; GType merge_events_command_type_id; merge_events_command_type_id = g_type_register_static (TYPE_MOVE_PHOTOS_COMMAND, "MergeEventsCommand", &g_define_type_info, 0); g_once_init_leave (&merge_events_command_type_id__volatile, merge_events_command_type_id); } return merge_events_command_type_id__volatile; } static void _duplicate_multiple_photos_command_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { #line 1092 "/home/jens/Source/shotwell/src/Commands.vala" duplicate_multiple_photos_command_on_photo_destroyed ((DuplicateMultiplePhotosCommand*) self, source); #line 10620 "Commands.c" } DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_construct (GType object_type, GeeIterable* iter) { DuplicateMultiplePhotosCommand * self = NULL; LibraryPhotoSourceCollection* _tmp0_; #line 1084 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1085 "/home/jens/Source/shotwell/src/Commands.vala" self = (DuplicateMultiplePhotosCommand*) multiple_data_source_command_construct (object_type, iter, _ ("Duplicating photos"), _ ("Removing duplicated photos"), RESOURCES_DUPLICATE_PHOTO_LABEL, RESOURCES_DUPLICATE_PHOTO_TOOLTIP); #line 1088 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_photo_global; #line 1088 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _duplicate_multiple_photos_command_on_photo_destroyed_source_collection_item_destroyed, self, 0); #line 1084 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 10640 "Commands.c" } DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_new (GeeIterable* iter) { #line 1084 "/home/jens/Source/shotwell/src/Commands.vala" return duplicate_multiple_photos_command_construct (TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, iter); #line 10649 "Commands.c" } static void duplicate_multiple_photos_command_on_photo_destroyed (DuplicateMultiplePhotosCommand* self, DataSource* source) { GeeHashMap* _tmp0_; GeeCollection* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; gboolean _tmp4_; #line 1095 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND (self)); #line 1095 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->dupes; #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_collection_contains (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_LIBRARY_PHOTO, LibraryPhoto)); #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 1097 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp4_) { #line 10680 "Commands.c" CommandManager* _tmp5_; CommandManager* _tmp6_; #line 1098 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 1098 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1098 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp6_); #line 1098 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp6_); #line 10691 "Commands.c" } } static void duplicate_multiple_photos_command_real_execute (Command* base) { DuplicateMultiplePhotosCommand * self; GeeHashMap* _tmp0_; gint _tmp1_; #line 1101 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand); #line 1102 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->dupes; #line 1102 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1103 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->failed = 0; #line 1105 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (duplicate_multiple_photos_command_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 1107 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->failed; #line 1107 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ > 0) { #line 10716 "Commands.c" gchar* error_string = NULL; gint _tmp2_; gint _tmp3_; gchar* _tmp4_; const gchar* _tmp5_; #line 1108 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->failed; #line 1108 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->failed; #line 1108 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = g_strdup_printf (ngettext ("Unable to duplicate one photo due to a file error", "Unable to duplicate %d photos due to file errors", (gulong) _tmp2_), _tmp3_); #line 1108 "/home/jens/Source/shotwell/src/Commands.vala" error_string = _tmp4_; #line 1110 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = error_string; #line 1110 "/home/jens/Source/shotwell/src/Commands.vala" app_window_error_message (_tmp5_, NULL); #line 1107 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (error_string); #line 10736 "Commands.c" } } static void duplicate_multiple_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { DuplicateMultiplePhotosCommand * self; LibraryPhoto* photo = NULL; LibraryPhoto* _tmp0_; GError * _inner_error_ = NULL; #line 1114 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand); #line 1114 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1115 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_LIBRARY_PHOTO, LibraryPhoto)); #line 1115 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp0_; #line 10757 "Commands.c" { LibraryPhoto* dupe = NULL; LibraryPhoto* _tmp1_; GeeHashMap* _tmp2_; #line 1118 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = library_photo_duplicate (photo, &_inner_error_); #line 1118 "/home/jens/Source/shotwell/src/Commands.vala" dupe = _tmp1_; #line 1118 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 10768 "Commands.c" goto __catch466_g_error; } #line 1119 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->dupes; #line 1119 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), photo, dupe); #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dupe); #line 10777 "Commands.c" } goto __finally466; __catch466_g_error: { GError* err = NULL; GFile* _tmp3_; GFile* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; GError* _tmp7_; const gchar* _tmp8_; gint _tmp9_; #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" err = _inner_error_; #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" _inner_error_ = NULL; #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_MEDIA_SOURCE, MediaSource)); #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = g_file_get_path (_tmp4_); #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = err; #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_->message; #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" g_critical ("Commands.vala:1121: Unable to duplicate file %s: %s", _tmp6_, _tmp8_); #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp6_); #line 1121 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 1122 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->failed; #line 1122 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->failed = _tmp9_ + 1; #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" _g_error_free0 (err); #line 10818 "Commands.c" } __finally466: #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 1117 "/home/jens/Source/shotwell/src/Commands.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 1117 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 1117 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 10831 "Commands.c" } #line 1114 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 10835 "Commands.c" } static void duplicate_multiple_photos_command_real_undo (Command* base) { DuplicateMultiplePhotosCommand * self; LibraryPhotoSourceCollection* _tmp0_; guint _tmp1_; GeeHashMap* _tmp2_; LibraryPhotoSourceCollection* _tmp3_; #line 1126 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand); #line 1128 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_photo_global; #line 1128 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); #line 1128 "/home/jens/Source/shotwell/src/Commands.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) _duplicate_multiple_photos_command_on_photo_destroyed_source_collection_item_destroyed, self); #line 1130 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (duplicate_multiple_photos_command_parent_class)->undo (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 1133 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->dupes; #line 1133 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1134 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->failed = 0; #line 1137 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = library_photo_global; #line 1137 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _duplicate_multiple_photos_command_on_photo_destroyed_source_collection_item_destroyed, self, 0); #line 10867 "Commands.c" } static void duplicate_multiple_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { DuplicateMultiplePhotosCommand * self; LibraryPhoto* photo = NULL; LibraryPhoto* _tmp0_; Marker* marker = NULL; LibraryPhotoSourceCollection* _tmp1_; GeeHashMap* _tmp2_; gpointer _tmp3_; LibraryPhoto* _tmp4_; Marker* _tmp5_; Marker* _tmp6_; LibraryPhotoSourceCollection* _tmp7_; #line 1140 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand); #line 1140 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1141 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_LIBRARY_PHOTO, LibraryPhoto)); #line 1141 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp0_; #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = library_photo_global; #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->dupes; #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), photo); #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = (LibraryPhoto*) _tmp3_; #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 1143 "/home/jens/Source/shotwell/src/Commands.vala" marker = _tmp6_; #line 1144 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = library_photo_global; #line 1144 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_SOURCE_COLLECTION, SourceCollection), marker, TRUE, NULL, NULL, NULL); #line 1140 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (marker); #line 1140 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 10918 "Commands.c" } static void duplicate_multiple_photos_command_class_init (DuplicateMultiplePhotosCommandClass * klass) { #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" duplicate_multiple_photos_command_parent_class = g_type_class_peek_parent (klass); #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (DuplicateMultiplePhotosCommandPrivate)); #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) duplicate_multiple_photos_command_real_execute; #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) duplicate_multiple_photos_command_real_execute_on_source; #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) duplicate_multiple_photos_command_real_undo; #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) duplicate_multiple_photos_command_real_undo_on_source; #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = duplicate_multiple_photos_command_finalize; #line 10939 "Commands.c" } static void duplicate_multiple_photos_command_instance_init (DuplicateMultiplePhotosCommand * self) { GeeHashMap* _tmp0_; #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = DUPLICATE_MULTIPLE_PHOTOS_COMMAND_GET_PRIVATE (self); #line 1081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1081 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->dupes = _tmp0_; #line 1082 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->failed = 0; #line 10955 "Commands.c" } static void duplicate_multiple_photos_command_finalize (GObject * obj) { DuplicateMultiplePhotosCommand * self; LibraryPhotoSourceCollection* _tmp0_; guint _tmp1_; #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand); #line 1092 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_photo_global; #line 1092 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); #line 1092 "/home/jens/Source/shotwell/src/Commands.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) _duplicate_multiple_photos_command_on_photo_destroyed_source_collection_item_destroyed, self); #line 1081 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dupes); #line 1080 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (duplicate_multiple_photos_command_parent_class)->finalize (obj); #line 10977 "Commands.c" } GType duplicate_multiple_photos_command_get_type (void) { static volatile gsize duplicate_multiple_photos_command_type_id__volatile = 0; if (g_once_init_enter (&duplicate_multiple_photos_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (DuplicateMultiplePhotosCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) duplicate_multiple_photos_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DuplicateMultiplePhotosCommand), 0, (GInstanceInitFunc) duplicate_multiple_photos_command_instance_init, NULL }; GType duplicate_multiple_photos_command_type_id; duplicate_multiple_photos_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "DuplicateMultiplePhotosCommand", &g_define_type_info, 0); g_once_init_leave (&duplicate_multiple_photos_command_type_id__volatile, duplicate_multiple_photos_command_type_id); } return duplicate_multiple_photos_command_type_id__volatile; } SetRatingSingleCommand* set_rating_single_command_construct (GType object_type, DataSource* source, Rating rating) { SetRatingSingleCommand * self = NULL; const gchar* _tmp0_; #line 1154 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); #line 1155 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = resources_rating_label (rating); #line 1155 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetRatingSingleCommand*) single_data_source_command_construct (object_type, source, _tmp0_, ""); #line 1156 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->set_direct = TRUE; #line 1157 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_rating = rating; #line 1159 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->last_rating = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); #line 1154 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 11016 "Commands.c" } SetRatingSingleCommand* set_rating_single_command_new (DataSource* source, Rating rating) { #line 1154 "/home/jens/Source/shotwell/src/Commands.vala" return set_rating_single_command_construct (TYPE_SET_RATING_SINGLE_COMMAND, source, rating); #line 11026 "Commands.c" } SetRatingSingleCommand* set_rating_single_command_construct_inc_dec (GType object_type, DataSource* source, gboolean is_incrementing) { SetRatingSingleCommand * self = NULL; const gchar* _tmp0_ = NULL; #line 1162 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); #line 1163 "/home/jens/Source/shotwell/src/Commands.vala" if (is_incrementing) { #line 1163 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = RESOURCES_INCREASE_RATING_LABEL; #line 11043 "Commands.c" } else { #line 1164 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = RESOURCES_DECREASE_RATING_LABEL; #line 11047 "Commands.c" } #line 1163 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetRatingSingleCommand*) single_data_source_command_construct (object_type, source, _tmp0_, ""); #line 1165 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->set_direct = FALSE; #line 1166 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->incrementing = is_incrementing; #line 1168 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->last_rating = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource)); #line 1162 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 11059 "Commands.c" } SetRatingSingleCommand* set_rating_single_command_new_inc_dec (DataSource* source, gboolean is_incrementing) { #line 1162 "/home/jens/Source/shotwell/src/Commands.vala" return set_rating_single_command_construct_inc_dec (TYPE_SET_RATING_SINGLE_COMMAND, source, is_incrementing); #line 11069 "Commands.c" } static void set_rating_single_command_real_execute (Command* base) { SetRatingSingleCommand * self; gboolean _tmp0_; #line 1171 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommand); #line 1172 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->set_direct; #line 1172 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 11084 "Commands.c" DataSource* _tmp1_; Rating _tmp2_; #line 1173 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 1173 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->new_rating; #line 1173 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource), _tmp2_); #line 11093 "Commands.c" } else { gboolean _tmp3_; #line 1175 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->incrementing; #line 1175 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_) { #line 11100 "Commands.c" DataSource* _tmp4_; #line 1176 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 1176 "/home/jens/Source/shotwell/src/Commands.vala" media_source_increase_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); #line 11106 "Commands.c" } else { DataSource* _tmp5_; #line 1178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 1178 "/home/jens/Source/shotwell/src/Commands.vala" media_source_decrease_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource)); #line 11113 "Commands.c" } } } static void set_rating_single_command_real_undo (Command* base) { SetRatingSingleCommand * self; DataSource* _tmp0_; Rating _tmp1_; #line 1182 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommand); #line 1183 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; #line 1183 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->last_rating; #line 1183 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); #line 11133 "Commands.c" } static void set_rating_single_command_class_init (SetRatingSingleCommandClass * klass) { #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" set_rating_single_command_parent_class = g_type_class_peek_parent (klass); #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (SetRatingSingleCommandPrivate)); #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) set_rating_single_command_real_execute; #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) set_rating_single_command_real_undo; #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = set_rating_single_command_finalize; #line 11150 "Commands.c" } static void set_rating_single_command_instance_init (SetRatingSingleCommand * self) { #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = SET_RATING_SINGLE_COMMAND_GET_PRIVATE (self); #line 11159 "Commands.c" } static void set_rating_single_command_finalize (GObject * obj) { SetRatingSingleCommand * self; #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommand); #line 1148 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (set_rating_single_command_parent_class)->finalize (obj); #line 11171 "Commands.c" } GType set_rating_single_command_get_type (void) { static volatile gsize set_rating_single_command_type_id__volatile = 0; if (g_once_init_enter (&set_rating_single_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SetRatingSingleCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_rating_single_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetRatingSingleCommand), 0, (GInstanceInitFunc) set_rating_single_command_instance_init, NULL }; GType set_rating_single_command_type_id; set_rating_single_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "SetRatingSingleCommand", &g_define_type_info, 0); g_once_init_leave (&set_rating_single_command_type_id__volatile, set_rating_single_command_type_id); } return set_rating_single_command_type_id__volatile; } SetRatingCommand* set_rating_command_construct (GType object_type, GeeIterable* iter, Rating rating) { SetRatingCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; const gchar* _tmp2_; #line 1194 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = resources_rating_progress (rating); #line 1195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_rating_label (rating); #line 1195 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetRatingCommand*) multiple_data_source_command_construct (object_type, iter, _tmp1_, _ ("Restoring previous rating"), _tmp2_, ""); #line 1195 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 1197 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->set_direct = TRUE; #line 1198 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_rating = rating; #line 1200 "/home/jens/Source/shotwell/src/Commands.vala" set_rating_command_save_source_states (self, iter); #line 1194 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 11218 "Commands.c" } SetRatingCommand* set_rating_command_new (GeeIterable* iter, Rating rating) { #line 1194 "/home/jens/Source/shotwell/src/Commands.vala" return set_rating_command_construct (TYPE_SET_RATING_COMMAND, iter, rating); #line 11228 "Commands.c" } SetRatingCommand* set_rating_command_construct_inc_dec (GType object_type, GeeIterable* iter, gboolean is_incrementing) { SetRatingCommand * self = NULL; const gchar* _tmp0_ = NULL; const gchar* _tmp1_ = NULL; const gchar* _tmp2_ = NULL; #line 1203 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1205 "/home/jens/Source/shotwell/src/Commands.vala" if (is_incrementing) { #line 1205 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _ ("Increasing ratings"); #line 11247 "Commands.c" } else { #line 1205 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _ ("Decreasing ratings"); #line 11251 "Commands.c" } #line 1206 "/home/jens/Source/shotwell/src/Commands.vala" if (is_incrementing) { #line 1206 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _ ("Decreasing ratings"); #line 11257 "Commands.c" } else { #line 1206 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _ ("Increasing ratings"); #line 11261 "Commands.c" } #line 1207 "/home/jens/Source/shotwell/src/Commands.vala" if (is_incrementing) { #line 1207 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = RESOURCES_INCREASE_RATING_LABEL; #line 11267 "Commands.c" } else { #line 1207 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = RESOURCES_DECREASE_RATING_LABEL; #line 11271 "Commands.c" } #line 1204 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetRatingCommand*) multiple_data_source_command_construct (object_type, iter, _tmp0_, _tmp1_, _tmp2_, ""); #line 1209 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->set_direct = FALSE; #line 1210 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->incrementing = is_incrementing; #line 1212 "/home/jens/Source/shotwell/src/Commands.vala" set_rating_command_save_source_states (self, iter); #line 1203 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 11283 "Commands.c" } SetRatingCommand* set_rating_command_new_inc_dec (GeeIterable* iter, gboolean is_incrementing) { #line 1203 "/home/jens/Source/shotwell/src/Commands.vala" return set_rating_command_construct_inc_dec (TYPE_SET_RATING_COMMAND, iter, is_incrementing); #line 11293 "Commands.c" } static void set_rating_command_save_source_states (SetRatingCommand* self, GeeIterable* iter) { GeeHashMap* _tmp0_; #line 1215 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SET_RATING_COMMAND (self)); #line 1215 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_ITERABLE (iter)); #line 1216 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_RATING, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1216 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->last_rating_map); #line 1216 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->last_rating_map = _tmp0_; #line 11312 "Commands.c" { GeeIterator* _view_it = NULL; GeeIterator* _tmp1_; #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_iterable_iterator (iter); #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _view_it = _tmp1_; #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 11322 "Commands.c" GeeIterator* _tmp2_; DataView* view = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; DataSource* source = NULL; DataView* _tmp5_; DataSource* _tmp6_; GeeHashMap* _tmp7_; DataSource* _tmp8_; DataSource* _tmp9_; #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _view_it; #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 11339 "Commands.c" } #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _view_it; #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" view = (DataView*) _tmp4_; #line 1219 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = view; #line 1219 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = data_view_get_source (_tmp5_); #line 1219 "/home/jens/Source/shotwell/src/Commands.vala" source = _tmp6_; #line 1220 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->last_rating_map; #line 1220 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = source; #line 1220 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = source; #line 1220 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_, (gpointer) ((gintptr) media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_SOURCE, MediaSource)))); #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 11365 "Commands.c" } #line 1218 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_view_it); #line 11369 "Commands.c" } } static void set_rating_command_real_execute (Command* base) { SetRatingCommand * self; #line 1224 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RATING_COMMAND, SetRatingCommand); #line 1225 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->action_count = 0; #line 1226 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (set_rating_command_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 11384 "Commands.c" } static void set_rating_command_real_undo (Command* base) { SetRatingCommand * self; #line 1229 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RATING_COMMAND, SetRatingCommand); #line 1230 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->action_count = 0; #line 1231 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (set_rating_command_parent_class)->undo (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 11398 "Commands.c" } static void set_rating_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { SetRatingCommand * self; gboolean _tmp0_; #line 1234 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RATING_COMMAND, SetRatingCommand); #line 1234 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1235 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->set_direct; #line 1235 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 11416 "Commands.c" Rating _tmp1_; #line 1236 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->new_rating; #line 1236 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); #line 11422 "Commands.c" } else { gboolean _tmp2_; #line 1238 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->incrementing; #line 1238 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_) { #line 1239 "/home/jens/Source/shotwell/src/Commands.vala" media_source_increase_rating (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource)); #line 11431 "Commands.c" } else { #line 1241 "/home/jens/Source/shotwell/src/Commands.vala" media_source_decrease_rating (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource)); #line 11435 "Commands.c" } } } static void set_rating_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { SetRatingCommand * self; GeeHashMap* _tmp0_; gpointer _tmp1_; #line 1245 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RATING_COMMAND, SetRatingCommand); #line 1245 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1246 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->last_rating_map; #line 1246 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), source); #line 1246 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource), (Rating) ((gintptr) _tmp1_)); #line 11458 "Commands.c" } static void set_rating_command_class_init (SetRatingCommandClass * klass) { #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" set_rating_command_parent_class = g_type_class_peek_parent (klass); #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (SetRatingCommandPrivate)); #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) set_rating_command_real_execute; #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) set_rating_command_real_undo; #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) set_rating_command_real_execute_on_source; #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) set_rating_command_real_undo_on_source; #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = set_rating_command_finalize; #line 11479 "Commands.c" } static void set_rating_command_instance_init (SetRatingCommand * self) { #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = SET_RATING_COMMAND_GET_PRIVATE (self); #line 1192 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->action_count = 0; #line 11490 "Commands.c" } static void set_rating_command_finalize (GObject * obj) { SetRatingCommand * self; #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SET_RATING_COMMAND, SetRatingCommand); #line 1188 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->last_rating_map); #line 1187 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (set_rating_command_parent_class)->finalize (obj); #line 11504 "Commands.c" } GType set_rating_command_get_type (void) { static volatile gsize set_rating_command_type_id__volatile = 0; if (g_once_init_enter (&set_rating_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SetRatingCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_rating_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetRatingCommand), 0, (GInstanceInitFunc) set_rating_command_instance_init, NULL }; GType set_rating_command_type_id; set_rating_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "SetRatingCommand", &g_define_type_info, 0); g_once_init_leave (&set_rating_command_type_id__volatile, set_rating_command_type_id); } return set_rating_command_type_id__volatile; } SetRawDeveloperCommand* set_raw_developer_command_construct (GType object_type, GeeIterable* iter, RawDeveloper developer) { SetRawDeveloperCommand * self = NULL; #line 1255 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1256 "/home/jens/Source/shotwell/src/Commands.vala" self = (SetRawDeveloperCommand*) multiple_data_source_command_construct (object_type, iter, _ ("Setting RAW developer"), _ ("Restoring previous RAW developer"), _ ("Set Developer"), ""); #line 1258 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_developer = developer; #line 1259 "/home/jens/Source/shotwell/src/Commands.vala" set_raw_developer_command_save_source_states (self, iter); #line 1255 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 11538 "Commands.c" } SetRawDeveloperCommand* set_raw_developer_command_new (GeeIterable* iter, RawDeveloper developer) { #line 1255 "/home/jens/Source/shotwell/src/Commands.vala" return set_raw_developer_command_construct (TYPE_SET_RAW_DEVELOPER_COMMAND, iter, developer); #line 11548 "Commands.c" } static void set_raw_developer_command_save_source_states (SetRawDeveloperCommand* self, GeeIterable* iter) { GeeHashMap* _tmp0_; GeeHashMap* _tmp1_; #line 1262 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_SET_RAW_DEVELOPER_COMMAND (self)); #line 1262 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_ITERABLE (iter)); #line 1263 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_RAW_DEVELOPER, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1263 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->last_developer_map); #line 1263 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->last_developer_map = _tmp0_; #line 1264 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_hash_map_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_PHOTO_TRANSFORMATION_STATE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1264 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->last_transformation_map); #line 1264 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->last_transformation_map = _tmp1_; #line 11574 "Commands.c" { GeeIterator* _view_it = NULL; GeeIterator* _tmp2_; #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_iterable_iterator (iter); #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _view_it = _tmp2_; #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 11584 "Commands.c" GeeIterator* _tmp3_; DataView* view = NULL; GeeIterator* _tmp4_; gpointer _tmp5_; Photo* photo = NULL; DataView* _tmp6_; DataSource* _tmp7_; Photo* _tmp8_; Photo* _tmp9_; #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _view_it; #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp3_)) { #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 11600 "Commands.c" } #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _view_it; #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_iterator_get (_tmp4_); #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" view = (DataView*) _tmp5_; #line 1267 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = view; #line 1267 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_view_get_source (_tmp6_); #line 1267 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_PHOTO) ? ((Photo*) _tmp7_) : NULL; #line 1267 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp8_ == NULL) { #line 1267 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp7_); #line 11618 "Commands.c" } #line 1267 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp8_; #line 1268 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = photo; #line 1268 "/home/jens/Source/shotwell/src/Commands.vala" if (set_raw_developer_command_is_raw_photo (self, _tmp9_)) { #line 11626 "Commands.c" GeeHashMap* _tmp10_; Photo* _tmp11_; Photo* _tmp12_; GeeHashMap* _tmp13_; Photo* _tmp14_; Photo* _tmp15_; PhotoTransformationState* _tmp16_; PhotoTransformationState* _tmp17_; #line 1269 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = self->priv->last_developer_map; #line 1269 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = photo; #line 1269 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = photo; #line 1269 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, (gpointer) ((gintptr) photo_get_raw_developer (_tmp12_))); #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->priv->last_transformation_map; #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = photo; #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = photo; #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = photo_save_transformation_state (_tmp15_); #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _tmp16_; #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp14_, _tmp17_); #line 1270 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp17_); #line 11657 "Commands.c" } #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 11663 "Commands.c" } #line 1266 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_view_it); #line 11667 "Commands.c" } } static void set_raw_developer_command_real_execute (Command* base) { SetRawDeveloperCommand * self; #line 1275 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand); #line 1276 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (set_raw_developer_command_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 11680 "Commands.c" } static void set_raw_developer_command_real_undo (Command* base) { SetRawDeveloperCommand * self; #line 1279 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand); #line 1280 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (set_raw_developer_command_parent_class)->undo (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 11692 "Commands.c" } static void set_raw_developer_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { SetRawDeveloperCommand * self; Photo* photo = NULL; Photo* _tmp0_; Photo* _tmp1_; #line 1283 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand); #line 1283 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1284 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_PHOTO) ? ((Photo*) source) : NULL); #line 1284 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp0_; #line 1285 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = photo; #line 1285 "/home/jens/Source/shotwell/src/Commands.vala" if (set_raw_developer_command_is_raw_photo (self, _tmp1_)) { #line 11716 "Commands.c" gboolean _tmp2_ = FALSE; RawDeveloper _tmp3_; #line 1286 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->new_developer; #line 1286 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ == RAW_DEVELOPER_CAMERA) { #line 11723 "Commands.c" Photo* _tmp4_; #line 1286 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = photo; #line 1286 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = !photo_is_raw_developer_available (_tmp4_, RAW_DEVELOPER_CAMERA); #line 11729 "Commands.c" } else { #line 1286 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = FALSE; #line 11733 "Commands.c" } #line 1286 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_) { #line 11737 "Commands.c" Photo* _tmp5_; #line 1287 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = photo; #line 1287 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_raw_developer (_tmp5_, RAW_DEVELOPER_EMBEDDED, TRUE); #line 11743 "Commands.c" } else { Photo* _tmp6_; RawDeveloper _tmp7_; #line 1289 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = photo; #line 1289 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->new_developer; #line 1289 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_raw_developer (_tmp6_, _tmp7_, TRUE); #line 11753 "Commands.c" } } #line 1283 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 11758 "Commands.c" } static void set_raw_developer_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { SetRawDeveloperCommand * self; Photo* photo = NULL; Photo* _tmp0_; Photo* _tmp1_; #line 1293 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand); #line 1293 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1294 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_PHOTO) ? ((Photo*) source) : NULL); #line 1294 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp0_; #line 1295 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = photo; #line 1295 "/home/jens/Source/shotwell/src/Commands.vala" if (set_raw_developer_command_is_raw_photo (self, _tmp1_)) { #line 11782 "Commands.c" Photo* _tmp2_; GeeHashMap* _tmp3_; Photo* _tmp4_; gpointer _tmp5_; Photo* _tmp6_; GeeHashMap* _tmp7_; Photo* _tmp8_; gpointer _tmp9_; PhotoTransformationState* _tmp10_; #line 1296 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = photo; #line 1296 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->last_developer_map; #line 1296 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = photo; #line 1296 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); #line 1296 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_raw_developer (_tmp2_, (RawDeveloper) ((gintptr) _tmp5_), TRUE); #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = photo; #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->last_transformation_map; #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = photo; #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_); #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = (PhotoTransformationState*) _tmp9_; #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" photo_load_transformation_state (_tmp6_, _tmp10_); #line 1297 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp10_); #line 11816 "Commands.c" } #line 1293 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 11820 "Commands.c" } static gboolean set_raw_developer_command_is_raw_photo (SetRawDeveloperCommand* self, Photo* photo) { gboolean result = FALSE; gboolean _tmp0_ = FALSE; #line 1301 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_SET_RAW_DEVELOPER_COMMAND (self), FALSE); #line 1301 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail ((photo == NULL) || IS_PHOTO (photo), FALSE); #line 1302 "/home/jens/Source/shotwell/src/Commands.vala" if (photo != NULL) { #line 1302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = photo_get_master_file_format (photo) == PHOTO_FILE_FORMAT_RAW; #line 11838 "Commands.c" } else { #line 1302 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = FALSE; #line 11842 "Commands.c" } #line 1302 "/home/jens/Source/shotwell/src/Commands.vala" result = _tmp0_; #line 1302 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 11848 "Commands.c" } static void set_raw_developer_command_class_init (SetRawDeveloperCommandClass * klass) { #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" set_raw_developer_command_parent_class = g_type_class_peek_parent (klass); #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (SetRawDeveloperCommandPrivate)); #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) set_raw_developer_command_real_execute; #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) set_raw_developer_command_real_undo; #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) set_raw_developer_command_real_execute_on_source; #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) set_raw_developer_command_real_undo_on_source; #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = set_raw_developer_command_finalize; #line 11869 "Commands.c" } static void set_raw_developer_command_instance_init (SetRawDeveloperCommand * self) { #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = SET_RAW_DEVELOPER_COMMAND_GET_PRIVATE (self); #line 11878 "Commands.c" } static void set_raw_developer_command_finalize (GObject * obj) { SetRawDeveloperCommand * self; #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand); #line 1251 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->last_developer_map); #line 1252 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->last_transformation_map); #line 1250 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (set_raw_developer_command_parent_class)->finalize (obj); #line 11894 "Commands.c" } GType set_raw_developer_command_get_type (void) { static volatile gsize set_raw_developer_command_type_id__volatile = 0; if (g_once_init_enter (&set_raw_developer_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (SetRawDeveloperCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_raw_developer_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetRawDeveloperCommand), 0, (GInstanceInitFunc) set_raw_developer_command_instance_init, NULL }; GType set_raw_developer_command_type_id; set_raw_developer_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "SetRawDeveloperCommand", &g_define_type_info, 0); g_once_init_leave (&set_raw_developer_command_type_id__volatile, set_raw_developer_command_type_id); } return set_raw_developer_command_type_id__volatile; } AdjustDateTimePhotoCommand* adjust_date_time_photo_command_construct (GType object_type, Dateable* dateable, gint64 time_shift, gboolean modify_original) { AdjustDateTimePhotoCommand * self = NULL; Dateable* _tmp0_; #line 1312 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_DATEABLE (dateable), NULL); #line 1313 "/home/jens/Source/shotwell/src/Commands.vala" self = (AdjustDateTimePhotoCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (dateable, TYPE_DATA_SOURCE, DataSource), RESOURCES_ADJUST_DATE_TIME_LABEL, ""); #line 1315 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (dateable); #line 1315 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dateable); #line 1315 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->dateable = _tmp0_; #line 1316 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->time_shift = time_shift; #line 1317 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->modify_original = modify_original; #line 1312 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 11936 "Commands.c" } AdjustDateTimePhotoCommand* adjust_date_time_photo_command_new (Dateable* dateable, gint64 time_shift, gboolean modify_original) { #line 1312 "/home/jens/Source/shotwell/src/Commands.vala" return adjust_date_time_photo_command_construct (TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, dateable, time_shift, modify_original); #line 11947 "Commands.c" } static void adjust_date_time_photo_command_real_execute (Command* base) { AdjustDateTimePhotoCommand * self; Dateable* _tmp0_; Dateable* _tmp1_; gint64 _tmp2_; Dateable* _tmp3_; Event* _tmp4_; ViewCollection* all_events = NULL; ViewCollection* _tmp5_; Dateable* _tmp21_; ViewCollection* _tmp22_; #line 1320 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommand); #line 1321 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->dateable; #line 1321 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->dateable; #line 1321 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->time_shift; #line 1321 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photo_command_set_time (self, _tmp0_, dateable_get_exposure_time (_tmp1_) + ((time_t) _tmp2_)); #line 1323 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->dateable; #line 1323 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource)); #line 1323 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->prev_event); #line 1323 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->prev_event = _tmp4_; #line 1325 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = view_collection_new ("tmp"); #line 1325 "/home/jens/Source/shotwell/src/Commands.vala" all_events = _tmp5_; #line 11986 "Commands.c" { GeeIterator* _dobj_it = NULL; EventSourceCollection* _tmp6_; GeeCollection* _tmp7_; GeeCollection* _tmp8_; GeeIterator* _tmp9_; GeeIterator* _tmp10_; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = event_global; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp8_); #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _dobj_it = _tmp10_; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 12010 "Commands.c" GeeIterator* _tmp11_; DataObject* dobj = NULL; GeeIterator* _tmp12_; gpointer _tmp13_; Event* event = NULL; DataObject* _tmp14_; Event* _tmp15_; Event* _tmp16_; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _dobj_it; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp11_)) { #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 12025 "Commands.c" } #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _dobj_it; #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_iterator_get (_tmp12_); #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" dobj = (DataObject*) _tmp13_; #line 1328 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = dobj; #line 1328 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_EVENT) ? ((Event*) _tmp14_) : NULL); #line 1328 "/home/jens/Source/shotwell/src/Commands.vala" event = _tmp15_; #line 1329 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = event; #line 1329 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp16_ != NULL) { #line 12043 "Commands.c" ViewCollection* _tmp17_; Event* _tmp18_; EventView* _tmp19_; EventView* _tmp20_; #line 1330 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = all_events; #line 1330 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = event; #line 1330 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_EVENT_SOURCE, EventSource)); #line 1330 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _tmp19_; #line 1330 "/home/jens/Source/shotwell/src/Commands.vala" data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject)); #line 1330 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp20_); #line 12060 "Commands.c" } #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (event); #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dobj); #line 12066 "Commands.c" } #line 1327 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_dobj_it); #line 12070 "Commands.c" } #line 1333 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = self->priv->dateable; #line 1333 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = all_events; #line 1333 "/home/jens/Source/shotwell/src/Commands.vala" event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE, MediaSource), _tmp22_, NULL); #line 1320 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (all_events); #line 12080 "Commands.c" } static void adjust_date_time_photo_command_real_undo (Command* base) { AdjustDateTimePhotoCommand * self; Dateable* _tmp0_; Dateable* _tmp1_; gint64 _tmp2_; Dateable* _tmp3_; Event* _tmp4_; #line 1336 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommand); #line 1337 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->dateable; #line 1337 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->dateable; #line 1337 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->time_shift; #line 1337 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photo_command_set_time (self, _tmp0_, dateable_get_exposure_time (_tmp1_) - ((time_t) _tmp2_)); #line 1339 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->dateable; #line 1339 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->prev_event; #line 1339 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), _tmp4_); #line 12109 "Commands.c" } static void adjust_date_time_photo_command_set_time (AdjustDateTimePhotoCommand* self, Dateable* dateable, time_t exposure_time) { gboolean _tmp0_ = FALSE; gboolean _tmp1_; GError * _inner_error_ = NULL; #line 1342 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_ADJUST_DATE_TIME_PHOTO_COMMAND (self)); #line 1342 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATEABLE (dateable)); #line 1343 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->modify_original; #line 1343 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_) { #line 1343 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (dateable, TYPE_PHOTO); #line 12131 "Commands.c" } else { #line 1343 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = FALSE; #line 12135 "Commands.c" } #line 1343 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 12139 "Commands.c" { #line 1345 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_exposure_time_persistent (G_TYPE_CHECK_INSTANCE_CAST (dateable, TYPE_PHOTO, Photo), exposure_time, &_inner_error_); #line 1345 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 12145 "Commands.c" goto __catch467_g_error; } } goto __finally467; __catch467_g_error: { GError* err = NULL; #line 1344 "/home/jens/Source/shotwell/src/Commands.vala" err = _inner_error_; #line 1344 "/home/jens/Source/shotwell/src/Commands.vala" _inner_error_ = NULL; #line 1347 "/home/jens/Source/shotwell/src/Commands.vala" app_window_error_message (_ ("Original photo could not be adjusted."), NULL); #line 1344 "/home/jens/Source/shotwell/src/Commands.vala" _g_error_free0 (err); #line 12161 "Commands.c" } __finally467: #line 1344 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 1344 "/home/jens/Source/shotwell/src/Commands.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 1344 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 1344 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 12172 "Commands.c" } } else { #line 1350 "/home/jens/Source/shotwell/src/Commands.vala" dateable_set_exposure_time (dateable, exposure_time); #line 12177 "Commands.c" } } static void adjust_date_time_photo_command_class_init (AdjustDateTimePhotoCommandClass * klass) { #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photo_command_parent_class = g_type_class_peek_parent (klass); #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (AdjustDateTimePhotoCommandPrivate)); #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) adjust_date_time_photo_command_real_execute; #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) adjust_date_time_photo_command_real_undo; #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = adjust_date_time_photo_command_finalize; #line 12195 "Commands.c" } static void adjust_date_time_photo_command_instance_init (AdjustDateTimePhotoCommand * self) { #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ADJUST_DATE_TIME_PHOTO_COMMAND_GET_PRIVATE (self); #line 12204 "Commands.c" } static void adjust_date_time_photo_command_finalize (GObject * obj) { AdjustDateTimePhotoCommand * self; #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommand); #line 1307 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dateable); #line 1308 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->prev_event); #line 1306 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (adjust_date_time_photo_command_parent_class)->finalize (obj); #line 12220 "Commands.c" } GType adjust_date_time_photo_command_get_type (void) { static volatile gsize adjust_date_time_photo_command_type_id__volatile = 0; if (g_once_init_enter (&adjust_date_time_photo_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (AdjustDateTimePhotoCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) adjust_date_time_photo_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AdjustDateTimePhotoCommand), 0, (GInstanceInitFunc) adjust_date_time_photo_command_instance_init, NULL }; GType adjust_date_time_photo_command_type_id; adjust_date_time_photo_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "AdjustDateTimePhotoCommand", &g_define_type_info, 0); g_once_init_leave (&adjust_date_time_photo_command_type_id__volatile, adjust_date_time_photo_command_type_id); } return adjust_date_time_photo_command_type_id__volatile; } static time_t* _time_t_dup (time_t* self) { time_t* dup; #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" dup = g_new0 (time_t, 1); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" memcpy (dup, self, sizeof (time_t)); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" return dup; #line 12248 "Commands.c" } static gpointer __time_t_dup0 (gpointer self) { #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" return self ? _time_t_dup (self) : NULL; #line 12257 "Commands.c" } AdjustDateTimePhotosCommand* adjust_date_time_photos_command_construct (GType object_type, GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals) { AdjustDateTimePhotosCommand * self = NULL; GeeHashMap* _tmp0_; GeeHashMap* _tmp22_; #line 1366 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_ITERABLE (iter), NULL); #line 1368 "/home/jens/Source/shotwell/src/Commands.vala" self = (AdjustDateTimePhotosCommand*) multiple_data_source_command_construct (object_type, iter, _ ("Adjusting Date and Time"), _ ("Undoing Date and Time Adjustment"), RESOURCES_ADJUST_DATE_TIME_LABEL, ""); #line 1371 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->time_shift = time_shift; #line 1372 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->keep_relativity = keep_relativity; #line 1373 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->modify_originals = modify_originals; #line 1377 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_DATEABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1377 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->prev_events); #line 1377 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->prev_events = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); #line 12287 "Commands.c" { GeeIterator* _view_it = NULL; GeeIterator* _tmp1_; #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_iterable_iterator (iter); #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _view_it = _tmp1_; #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 12297 "Commands.c" GeeIterator* _tmp2_; DataView* view = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; GeeMap* _tmp5_; DataView* _tmp6_; DataSource* _tmp7_; Dateable* _tmp8_; Dateable* _tmp9_; DataView* _tmp10_; DataSource* _tmp11_; MediaSource* _tmp12_; MediaSource* _tmp13_; Event* _tmp14_; Event* _tmp15_; time_t* _tmp16_; #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _view_it; #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp2_)) { #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 12320 "Commands.c" } #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _view_it; #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" view = (DataView*) _tmp4_; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->prev_events; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = view; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_view_get_source (_tmp6_); #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_DATEABLE) ? ((Dateable*) _tmp7_) : NULL; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp8_ == NULL) { #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp7_); #line 12340 "Commands.c" } #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _tmp8_; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = view; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = data_view_get_source (_tmp10_); #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp11_) : NULL; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp12_ == NULL) { #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 12354 "Commands.c" } #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _tmp12_; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = media_source_get_event (_tmp13_); #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _tmp14_; #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" gee_map_set (_tmp5_, _tmp9_, _tmp15_); #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp15_); #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp13_); #line 1381 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp9_); #line 1383 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = self->priv->new_time; #line 1383 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp16_ == NULL) { #line 12374 "Commands.c" DataView* _tmp17_; DataSource* _tmp18_; Dateable* _tmp19_; time_t _tmp20_; time_t* _tmp21_; #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = view; #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = data_view_get_source (_tmp17_); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATEABLE, Dateable); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = dateable_get_exposure_time (_tmp19_) + ((time_t) time_shift); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = __time_t_dup0 (&_tmp20_); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_time); #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_time = _tmp21_; #line 1384 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp19_); #line 1386 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 1386 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 12400 "Commands.c" } #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (view); #line 12404 "Commands.c" } #line 1380 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_view_it); #line 12408 "Commands.c" } #line 1390 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = gee_hash_map_new (TYPE_DATEABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, G_TYPE_INVALID, (GBoxedCopyFunc) _time_t_dup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1390 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->old_times); #line 1390 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_times = _tmp22_; #line 1366 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 12418 "Commands.c" } AdjustDateTimePhotosCommand* adjust_date_time_photos_command_new (GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals) { #line 1366 "/home/jens/Source/shotwell/src/Commands.vala" return adjust_date_time_photos_command_construct (TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, iter, time_shift, keep_relativity, modify_originals); #line 12430 "Commands.c" } static void adjust_date_time_photos_command_real_execute (Command* base) { AdjustDateTimePhotosCommand * self; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _tmp2_; gint _tmp3_; ViewCollection* all_events = NULL; ViewCollection* _tmp8_; #line 1393 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand); #line 1394 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_array_list_new (TYPE_DATEABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 1394 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->error_list); #line 1394 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->error_list = _tmp0_; #line 1395 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (adjust_date_time_photos_command_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 1397 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->error_list; #line 1397 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1397 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1397 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ > 0) { #line 12462 "Commands.c" GeeArrayList* _tmp4_; GeeArrayList* _tmp5_; gint _tmp6_; gint _tmp7_; #line 1398 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->error_list; #line 1398 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->error_list; #line 1398 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1398 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 1398 "/home/jens/Source/shotwell/src/Commands.vala" multiple_object_error_dialog (_tmp4_, ngettext ("One original photo could not be adjusted.", "The following original photos could not be adjusted.", (gulong) _tmp7_), _ ("Time Adjustment Error")); #line 12477 "Commands.c" } #line 1404 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = view_collection_new ("tmp"); #line 1404 "/home/jens/Source/shotwell/src/Commands.vala" all_events = _tmp8_; #line 12483 "Commands.c" { GeeIterator* _d_it = NULL; GeeMap* _tmp9_; GeeSet* _tmp10_; GeeSet* _tmp11_; GeeSet* _tmp12_; GeeIterator* _tmp13_; GeeIterator* _tmp14_; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->prev_events; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_map_get_keys (_tmp9_); #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _tmp11_; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _tmp13_; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp12_); #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _d_it = _tmp14_; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 12510 "Commands.c" GeeIterator* _tmp15_; Dateable* d = NULL; GeeIterator* _tmp16_; gpointer _tmp17_; Dateable* _tmp33_; ViewCollection* _tmp34_; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _d_it; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp15_)) { #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 12523 "Commands.c" } #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _d_it; #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = gee_iterator_get (_tmp16_); #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" d = (Dateable*) _tmp17_; #line 12531 "Commands.c" { GeeIterator* _dobj_it = NULL; EventSourceCollection* _tmp18_; GeeCollection* _tmp19_; GeeCollection* _tmp20_; GeeIterator* _tmp21_; GeeIterator* _tmp22_; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = event_global; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_COLLECTION, DataCollection)); #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _tmp19_; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _tmp21_; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp20_); #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _dobj_it = _tmp22_; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 12555 "Commands.c" GeeIterator* _tmp23_; DataObject* dobj = NULL; GeeIterator* _tmp24_; gpointer _tmp25_; Event* event = NULL; DataObject* _tmp26_; Event* _tmp27_; Event* _tmp28_; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _dobj_it; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp23_)) { #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 12570 "Commands.c" } #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _dobj_it; #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = gee_iterator_get (_tmp24_); #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" dobj = (DataObject*) _tmp25_; #line 1408 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = dobj; #line 1408 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, TYPE_EVENT) ? ((Event*) _tmp26_) : NULL); #line 1408 "/home/jens/Source/shotwell/src/Commands.vala" event = _tmp27_; #line 1409 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = event; #line 1409 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp28_ != NULL) { #line 12588 "Commands.c" ViewCollection* _tmp29_; Event* _tmp30_; EventView* _tmp31_; EventView* _tmp32_; #line 1410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = all_events; #line 1410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = event; #line 1410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_EVENT_SOURCE, EventSource)); #line 1410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = _tmp31_; #line 1410 "/home/jens/Source/shotwell/src/Commands.vala" data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_OBJECT, DataObject)); #line 1410 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp32_); #line 12605 "Commands.c" } #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (event); #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dobj); #line 12611 "Commands.c" } #line 1407 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_dobj_it); #line 12615 "Commands.c" } #line 1413 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = d; #line 1413 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = all_events; #line 1413 "/home/jens/Source/shotwell/src/Commands.vala" event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_MEDIA_SOURCE, MediaSource), _tmp34_, NULL); #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (d); #line 12625 "Commands.c" } #line 1406 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_d_it); #line 12629 "Commands.c" } #line 1393 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (all_events); #line 12633 "Commands.c" } static void adjust_date_time_photos_command_real_undo (Command* base) { AdjustDateTimePhotosCommand * self; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _tmp2_; gint _tmp3_; #line 1417 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand); #line 1418 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_array_list_new (TYPE_DATEABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 1418 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->error_list); #line 1418 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->error_list = _tmp0_; #line 1419 "/home/jens/Source/shotwell/src/Commands.vala" COMMAND_CLASS (adjust_date_time_photos_command_parent_class)->undo (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand), TYPE_COMMAND, Command)); #line 1421 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->error_list; #line 1421 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1421 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1421 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ > 0) { #line 12663 "Commands.c" GeeArrayList* _tmp4_; GeeArrayList* _tmp5_; gint _tmp6_; gint _tmp7_; #line 1422 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->error_list; #line 1422 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->error_list; #line 1422 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1422 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 1422 "/home/jens/Source/shotwell/src/Commands.vala" multiple_object_error_dialog (_tmp4_, ngettext ("Time adjustments could not be undone on the following photo file.", "Time adjustments could not be undone on the following photo files.", (gulong) _tmp7_), _ ("Time Adjustment Error")); #line 12678 "Commands.c" } } static void adjust_date_time_photos_command_set_time (AdjustDateTimePhotosCommand* self, Dateable* dateable, time_t exposure_time) { gboolean _tmp0_ = FALSE; gboolean _tmp1_; GError * _inner_error_ = NULL; #line 1429 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_ADJUST_DATE_TIME_PHOTOS_COMMAND (self)); #line 1429 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATEABLE (dateable)); #line 1433 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->modify_originals; #line 1433 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_) { #line 1433 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (dateable, TYPE_PHOTO); #line 12701 "Commands.c" } else { #line 1433 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = FALSE; #line 12705 "Commands.c" } #line 1433 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 12709 "Commands.c" { #line 1435 "/home/jens/Source/shotwell/src/Commands.vala" photo_set_exposure_time_persistent (G_TYPE_CHECK_INSTANCE_CAST (dateable, TYPE_PHOTO, Photo), exposure_time, &_inner_error_); #line 1435 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 12715 "Commands.c" goto __catch468_g_error; } } goto __finally468; __catch468_g_error: { GError* err = NULL; GeeArrayList* _tmp2_; #line 1434 "/home/jens/Source/shotwell/src/Commands.vala" err = _inner_error_; #line 1434 "/home/jens/Source/shotwell/src/Commands.vala" _inner_error_ = NULL; #line 1437 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->error_list; #line 1437 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), dateable); #line 1434 "/home/jens/Source/shotwell/src/Commands.vala" _g_error_free0 (err); #line 12734 "Commands.c" } __finally468: #line 1434 "/home/jens/Source/shotwell/src/Commands.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 1434 "/home/jens/Source/shotwell/src/Commands.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 1434 "/home/jens/Source/shotwell/src/Commands.vala" g_clear_error (&_inner_error_); #line 1434 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 12745 "Commands.c" } } else { #line 1442 "/home/jens/Source/shotwell/src/Commands.vala" dateable_set_exposure_time (dateable, exposure_time); #line 12750 "Commands.c" } } static void adjust_date_time_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { AdjustDateTimePhotosCommand * self; Dateable* dateable = NULL; Dateable* _tmp0_; gboolean _tmp1_ = FALSE; gboolean _tmp2_; ViewCollection* all_events = NULL; ViewCollection* _tmp13_; Dateable* _tmp29_; ViewCollection* _tmp30_; #line 1446 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand); #line 1446 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1447 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATEABLE, Dateable)); #line 1447 "/home/jens/Source/shotwell/src/Commands.vala" dateable = _tmp0_; #line 1449 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->keep_relativity; #line 1449 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_) { #line 12780 "Commands.c" Dateable* _tmp3_; #line 1449 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = dateable; #line 1449 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = dateable_get_exposure_time (_tmp3_) != ((time_t) 0); #line 12786 "Commands.c" } else { #line 1449 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = FALSE; #line 12790 "Commands.c" } #line 1449 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_) { #line 12794 "Commands.c" Dateable* _tmp4_; Dateable* _tmp5_; gint64 _tmp6_; #line 1450 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = dateable; #line 1450 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = dateable; #line 1450 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->time_shift; #line 1450 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photos_command_set_time (self, _tmp4_, dateable_get_exposure_time (_tmp5_) + ((time_t) _tmp6_)); #line 12806 "Commands.c" } else { GeeHashMap* _tmp7_; Dateable* _tmp8_; Dateable* _tmp9_; time_t _tmp10_; Dateable* _tmp11_; time_t* _tmp12_; #line 1452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->old_times; #line 1452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = dateable; #line 1452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = dateable; #line 1452 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = dateable_get_exposure_time (_tmp9_); #line 1452 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_, &_tmp10_); #line 1453 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = dateable; #line 1453 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->new_time; #line 1453 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photos_command_set_time (self, _tmp11_, *_tmp12_); #line 12830 "Commands.c" } #line 1456 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = view_collection_new ("tmp"); #line 1456 "/home/jens/Source/shotwell/src/Commands.vala" all_events = _tmp13_; #line 12836 "Commands.c" { GeeIterator* _dobj_it = NULL; EventSourceCollection* _tmp14_; GeeCollection* _tmp15_; GeeCollection* _tmp16_; GeeIterator* _tmp17_; GeeIterator* _tmp18_; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = event_global; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection)); #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _tmp15_; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = _tmp17_; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp16_); #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _dobj_it = _tmp18_; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 12860 "Commands.c" GeeIterator* _tmp19_; DataObject* dobj = NULL; GeeIterator* _tmp20_; gpointer _tmp21_; Event* event = NULL; DataObject* _tmp22_; Event* _tmp23_; Event* _tmp24_; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _dobj_it; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp19_)) { #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 12875 "Commands.c" } #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _dobj_it; #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_iterator_get (_tmp20_); #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" dobj = (DataObject*) _tmp21_; #line 1459 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = dobj; #line 1459 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, TYPE_EVENT) ? ((Event*) _tmp22_) : NULL); #line 1459 "/home/jens/Source/shotwell/src/Commands.vala" event = _tmp23_; #line 1460 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = event; #line 1460 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp24_ != NULL) { #line 12893 "Commands.c" ViewCollection* _tmp25_; Event* _tmp26_; EventView* _tmp27_; EventView* _tmp28_; #line 1461 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = all_events; #line 1461 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = event; #line 1461 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_EVENT_SOURCE, EventSource)); #line 1461 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = _tmp27_; #line 1461 "/home/jens/Source/shotwell/src/Commands.vala" data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_OBJECT, DataObject)); #line 1461 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp28_); #line 12910 "Commands.c" } #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (event); #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dobj); #line 12916 "Commands.c" } #line 1458 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_dobj_it); #line 12920 "Commands.c" } #line 1464 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = dateable; #line 1464 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = all_events; #line 1464 "/home/jens/Source/shotwell/src/Commands.vala" event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_MEDIA_SOURCE, MediaSource), _tmp30_, NULL); #line 1446 "/home/jens/Source/shotwell/src/Commands.vala" _data_collection_unref0 (all_events); #line 1446 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dateable); #line 12932 "Commands.c" } static void adjust_date_time_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { AdjustDateTimePhotosCommand * self; Dateable* photo = NULL; Dateable* _tmp0_; GeeHashMap* _tmp1_; Dateable* _tmp2_; GeeMap* _tmp13_; gpointer _tmp14_; Event* _tmp15_; #line 1467 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand); #line 1467 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1468 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATEABLE, Dateable)); #line 1468 "/home/jens/Source/shotwell/src/Commands.vala" photo = _tmp0_; #line 1470 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_times; #line 1470 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = photo; #line 1470 "/home/jens/Source/shotwell/src/Commands.vala" if (gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_)) { #line 12962 "Commands.c" Dateable* _tmp3_; GeeHashMap* _tmp4_; Dateable* _tmp5_; gpointer _tmp6_; time_t* _tmp7_; GeeHashMap* _tmp8_; Dateable* _tmp9_; #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = photo; #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->old_times; #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = photo; #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = (time_t*) _tmp6_; #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photos_command_set_time (self, _tmp3_, *_tmp7_); #line 1471 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp7_); #line 1472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->old_times; #line 1472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = photo; #line 1472 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, NULL); #line 12990 "Commands.c" } else { Dateable* _tmp10_; Dateable* _tmp11_; gint64 _tmp12_; #line 1474 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = photo; #line 1474 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = photo; #line 1474 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->time_shift; #line 1474 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photos_command_set_time (self, _tmp10_, dateable_get_exposure_time (_tmp11_) - ((time_t) _tmp12_)); #line 13003 "Commands.c" } #line 1477 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->priv->prev_events; #line 1477 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_map_get (_tmp13_, G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_DATEABLE) ? ((Dateable*) source) : NULL); #line 1477 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = (Event*) _tmp14_; #line 1477 "/home/jens/Source/shotwell/src/Commands.vala" media_source_set_event (G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_MEDIA_SOURCE) ? ((MediaSource*) source) : NULL, _tmp15_); #line 1477 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp15_); #line 1467 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (photo); #line 13017 "Commands.c" } static void adjust_date_time_photos_command_class_init (AdjustDateTimePhotosCommandClass * klass) { #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" adjust_date_time_photos_command_parent_class = g_type_class_peek_parent (klass); #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (AdjustDateTimePhotosCommandPrivate)); #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) adjust_date_time_photos_command_real_execute; #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) adjust_date_time_photos_command_real_undo; #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->execute_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) adjust_date_time_photos_command_real_execute_on_source; #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceCommandClass *) klass)->undo_on_source = (void (*) (MultipleDataSourceCommand *, DataSource*)) adjust_date_time_photos_command_real_undo_on_source; #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = adjust_date_time_photos_command_finalize; #line 13038 "Commands.c" } static void adjust_date_time_photos_command_instance_init (AdjustDateTimePhotosCommand * self) { #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ADJUST_DATE_TIME_PHOTOS_COMMAND_GET_PRIVATE (self); #line 1362 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_time = NULL; #line 13049 "Commands.c" } static void adjust_date_time_photos_command_finalize (GObject * obj) { AdjustDateTimePhotosCommand * self; #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand); #line 1359 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->prev_events); #line 1362 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_time); #line 1363 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->old_times); #line 1364 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->error_list); #line 1355 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (adjust_date_time_photos_command_parent_class)->finalize (obj); #line 13069 "Commands.c" } GType adjust_date_time_photos_command_get_type (void) { static volatile gsize adjust_date_time_photos_command_type_id__volatile = 0; if (g_once_init_enter (&adjust_date_time_photos_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (AdjustDateTimePhotosCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) adjust_date_time_photos_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AdjustDateTimePhotosCommand), 0, (GInstanceInitFunc) adjust_date_time_photos_command_instance_init, NULL }; GType adjust_date_time_photos_command_type_id; adjust_date_time_photos_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_COMMAND, "AdjustDateTimePhotosCommand", &g_define_type_info, 0); g_once_init_leave (&adjust_date_time_photos_command_type_id__volatile, adjust_date_time_photos_command_type_id); } return adjust_date_time_photos_command_type_id__volatile; } static void _add_tags_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self) { #line 1521 "/home/jens/Source/shotwell/src/Commands.vala" add_tags_command_on_proxy_broken ((AddTagsCommand*) self); #line 13093 "Commands.c" } static void _add_tags_command_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { #line 1523 "/home/jens/Source/shotwell/src/Commands.vala" add_tags_command_on_source_destroyed ((AddTagsCommand*) self, source); #line 13104 "Commands.c" } AddTagsCommand* add_tags_command_construct (GType object_type, gchar** paths, int paths_length1, GeeCollection* sources) { AddTagsCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; LibraryPhotoSourceCollection* _tmp38_; VideoSourceCollection* _tmp39_; #line 1485 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (sources), NULL); #line 1486 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = resources_add_tags_label (paths, paths_length1); #line 1486 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1486 "/home/jens/Source/shotwell/src/Commands.vala" self = (AddTagsCommand*) page_command_construct (object_type, _tmp1_, ""); #line 1486 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 13129 "Commands.c" { gchar** path_collection = NULL; gint path_collection_length1 = 0; gint _path_collection_size_ = 0; gint path_it = 0; #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" path_collection = paths; #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" path_collection_length1 = paths_length1; #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" for (path_it = 0; path_it < paths_length1; path_it = path_it + 1) { #line 13141 "Commands.c" gchar* _tmp2_; gchar* path = NULL; #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = g_strdup (path_collection[path_it]); #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" path = _tmp2_; #line 13148 "Commands.c" { GeeList* paths_to_create = NULL; const gchar* _tmp3_; GeeList* _tmp4_; GeeList* _tmp5_; const gchar* _tmp6_; #line 1492 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = path; #line 1492 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp3_); #line 1492 "/home/jens/Source/shotwell/src/Commands.vala" paths_to_create = _tmp4_; #line 1494 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = paths_to_create; #line 1494 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = path; #line 1494 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), _tmp6_); #line 13167 "Commands.c" { GeeList* _create_path_list = NULL; GeeList* _tmp7_; GeeList* _tmp8_; gint _create_path_size = 0; GeeList* _tmp9_; gint _tmp10_; gint _tmp11_; gint _create_path_index = 0; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = paths_to_create; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _g_object_ref0 (_tmp7_); #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _create_path_list = _tmp8_; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _create_path_list; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _create_path_size = _tmp11_; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _create_path_index = -1; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 13195 "Commands.c" gint _tmp12_; gint _tmp13_; gint _tmp14_; gchar* create_path = NULL; GeeList* _tmp15_; gint _tmp16_; gpointer _tmp17_; Tag* tag = NULL; const gchar* _tmp18_; Tag* _tmp19_; SourceProxy* tag_proxy = NULL; Tag* _tmp20_; SourceProxy* _tmp21_; GeeArrayList* add_sources = NULL; GeeArrayList* _tmp22_; GeeArrayList* _tmp31_; gint _tmp32_; gint _tmp33_; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _create_path_index; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _create_path_index = _tmp12_ + 1; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _create_path_index; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _create_path_size; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp13_ < _tmp14_)) { #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 13226 "Commands.c" } #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _create_path_list; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _create_path_index; #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = gee_list_get (_tmp15_, _tmp16_); #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" create_path = (gchar*) _tmp17_; #line 1497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = create_path; #line 1497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = tag_for_path (_tmp18_); #line 1497 "/home/jens/Source/shotwell/src/Commands.vala" tag = _tmp19_; #line 1498 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = tag; #line 1498 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PROXYABLE, Proxyable)); #line 1498 "/home/jens/Source/shotwell/src/Commands.vala" tag_proxy = _tmp21_; #line 1502 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 1502 "/home/jens/Source/shotwell/src/Commands.vala" add_sources = _tmp22_; #line 13252 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp23_; #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp23_; #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 13262 "Commands.c" GeeIterator* _tmp24_; MediaSource* source = NULL; GeeIterator* _tmp25_; gpointer _tmp26_; Tag* _tmp27_; MediaSource* _tmp28_; #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _source_it; #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp24_)) { #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 13275 "Commands.c" } #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _source_it; #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = gee_iterator_get (_tmp25_); #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp26_; #line 1504 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = tag; #line 1504 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = source; #line 1504 "/home/jens/Source/shotwell/src/Commands.vala" if (!tag_contains (_tmp27_, _tmp28_)) { #line 13289 "Commands.c" GeeArrayList* _tmp29_; MediaSource* _tmp30_; #line 1505 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = add_sources; #line 1505 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = source; #line 1505 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp30_); #line 13298 "Commands.c" } #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 13302 "Commands.c" } #line 1503 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 13306 "Commands.c" } #line 1508 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = add_sources; #line 1508 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1508 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = _tmp32_; #line 1508 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp33_ > 0) { #line 13316 "Commands.c" SourceProxy* _tmp34_; GeeHashMap* _tmp35_; SourceProxy* _tmp36_; GeeArrayList* _tmp37_; #line 1509 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = tag_proxy; #line 1509 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp34_, "broken", (GCallback) _add_tags_command_on_proxy_broken_source_proxy_broken, self, 0); #line 1510 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = self->priv->map; #line 1510 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = tag_proxy; #line 1510 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = add_sources; #line 1510 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp36_, _tmp37_); #line 13333 "Commands.c" } #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (add_sources); #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (tag_proxy); #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (create_path); #line 13343 "Commands.c" } #line 1496 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_create_path_list); #line 13347 "Commands.c" } #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (paths_to_create); #line 1491 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 13353 "Commands.c" } } } #line 1515 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = library_photo_global; #line 1515 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _add_tags_command_on_source_destroyed_source_collection_item_destroyed, self, 0); #line 1516 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = video_global; #line 1516 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _add_tags_command_on_source_destroyed_source_collection_item_destroyed, self, 0); #line 1485 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 13367 "Commands.c" } AddTagsCommand* add_tags_command_new (gchar** paths, int paths_length1, GeeCollection* sources) { #line 1485 "/home/jens/Source/shotwell/src/Commands.vala" return add_tags_command_construct (TYPE_ADD_TAGS_COMMAND, paths, paths_length1, sources); #line 13378 "Commands.c" } static void add_tags_command_real_execute (Command* base) { AddTagsCommand * self; #line 1527 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADD_TAGS_COMMAND, AddTagsCommand); #line 13388 "Commands.c" { GeeIterator* _tag_proxy_it = NULL; GeeHashMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->map; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tag_proxy_it = _tmp5_; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 13415 "Commands.c" GeeIterator* _tmp6_; SourceProxy* tag_proxy = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; SourceProxy* _tmp9_; DataSource* _tmp10_; Tag* _tmp11_; GeeHashMap* _tmp12_; SourceProxy* _tmp13_; gpointer _tmp14_; GeeArrayList* _tmp15_; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tag_proxy_it; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp6_)) { #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 13433 "Commands.c" } #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tag_proxy_it; #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" tag_proxy = (SourceProxy*) _tmp8_; #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = tag_proxy; #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = source_proxy_get_source (_tmp9_); #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_TAG, Tag); #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->map; #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = tag_proxy; #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = (GeeArrayList*) _tmp14_; #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach_many (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp15_); #line 1529 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (tag_proxy); #line 13463 "Commands.c" } #line 1528 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tag_proxy_it); #line 13467 "Commands.c" } } static void add_tags_command_real_undo (Command* base) { AddTagsCommand * self; #line 1532 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADD_TAGS_COMMAND, AddTagsCommand); #line 13478 "Commands.c" { GeeIterator* _tag_proxy_it = NULL; GeeHashMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->map; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tag_proxy_it = _tmp5_; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 13505 "Commands.c" GeeIterator* _tmp6_; SourceProxy* tag_proxy = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; Tag* tag = NULL; SourceProxy* _tmp9_; DataSource* _tmp10_; Tag* _tmp11_; GeeHashMap* _tmp12_; SourceProxy* _tmp13_; gpointer _tmp14_; GeeArrayList* _tmp15_; GeeMultiMap* _tmp16_; GeeMultiMap* _tmp17_; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tag_proxy_it; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp6_)) { #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 13526 "Commands.c" } #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tag_proxy_it; #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" tag_proxy = (SourceProxy*) _tmp8_; #line 1534 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = tag_proxy; #line 1534 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = source_proxy_get_source (_tmp9_); #line 1534 "/home/jens/Source/shotwell/src/Commands.vala" tag = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_TAG, Tag); #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = tag; #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->map; #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = tag_proxy; #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = (GeeArrayList*) _tmp14_; #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = tag_detach_many (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _tmp16_; #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp17_); #line 1536 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp15_); #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (tag_proxy); #line 13562 "Commands.c" } #line 1533 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tag_proxy_it); #line 13566 "Commands.c" } } static void add_tags_command_on_source_destroyed (AddTagsCommand* self, DataSource* source) { #line 1540 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_ADD_TAGS_COMMAND (self)); #line 1540 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 13579 "Commands.c" { GeeIterator* _sources_it = NULL; GeeHashMap* _tmp0_; GeeCollection* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->map; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _sources_it = _tmp5_; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 13606 "Commands.c" GeeIterator* _tmp6_; GeeArrayList* sources = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; GeeArrayList* _tmp9_; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _sources_it; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp6_)) { #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 13618 "Commands.c" } #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _sources_it; #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" sources = (GeeArrayList*) _tmp8_; #line 1542 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = sources; #line 1542 "/home/jens/Source/shotwell/src/Commands.vala" if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource))) { #line 13630 "Commands.c" CommandManager* _tmp10_; CommandManager* _tmp11_; #line 1543 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 1543 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 1543 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp11_); #line 1543 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp11_); #line 1545 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (sources); #line 1545 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_sources_it); #line 1545 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 13647 "Commands.c" } #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (sources); #line 13651 "Commands.c" } #line 1541 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_sources_it); #line 13655 "Commands.c" } } static void add_tags_command_on_proxy_broken (AddTagsCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 1550 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_ADD_TAGS_COMMAND (self)); #line 1551 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 1551 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1551 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 1551 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 13675 "Commands.c" } static void add_tags_command_class_init (AddTagsCommandClass * klass) { #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" add_tags_command_parent_class = g_type_class_peek_parent (klass); #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (AddTagsCommandPrivate)); #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) add_tags_command_real_execute; #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) add_tags_command_real_undo; #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = add_tags_command_finalize; #line 13692 "Commands.c" } static void add_tags_command_instance_init (AddTagsCommand * self) { GeeHashMap* _tmp0_; #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = ADD_TAGS_COMMAND_GET_PRIVATE (self); #line 1482 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_map_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1482 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->map = _tmp0_; #line 13706 "Commands.c" } static void add_tags_command_finalize (GObject * obj) { AddTagsCommand * self; LibraryPhotoSourceCollection* _tmp11_; guint _tmp12_; VideoSourceCollection* _tmp13_; guint _tmp14_; #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADD_TAGS_COMMAND, AddTagsCommand); #line 13720 "Commands.c" { GeeIterator* _tag_proxy_it = NULL; GeeHashMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->map; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp3_); #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tag_proxy_it = _tmp5_; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 13747 "Commands.c" GeeIterator* _tmp6_; SourceProxy* tag_proxy = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; SourceProxy* _tmp9_; guint _tmp10_; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tag_proxy_it; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp6_)) { #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 13760 "Commands.c" } #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tag_proxy_it; #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" tag_proxy = (SourceProxy*) _tmp8_; #line 1521 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = tag_proxy; #line 1521 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp10_, NULL, FALSE); #line 1521 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _add_tags_command_on_proxy_broken_source_proxy_broken, self); #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (tag_proxy); #line 13776 "Commands.c" } #line 1520 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tag_proxy_it); #line 13780 "Commands.c" } #line 1523 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = library_photo_global; #line 1523 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp12_, NULL, FALSE); #line 1523 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _add_tags_command_on_source_destroyed_source_collection_item_destroyed, self); #line 1524 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = video_global; #line 1524 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp14_, NULL, FALSE); #line 1524 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _add_tags_command_on_source_destroyed_source_collection_item_destroyed, self); #line 1482 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->map); #line 1481 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (add_tags_command_parent_class)->finalize (obj); #line 13798 "Commands.c" } GType add_tags_command_get_type (void) { static volatile gsize add_tags_command_type_id__volatile = 0; if (g_once_init_enter (&add_tags_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (AddTagsCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) add_tags_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AddTagsCommand), 0, (GInstanceInitFunc) add_tags_command_instance_init, NULL }; GType add_tags_command_type_id; add_tags_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "AddTagsCommand", &g_define_type_info, 0); g_once_init_leave (&add_tags_command_type_id__volatile, add_tags_command_type_id); } return add_tags_command_type_id__volatile; } RenameTagCommand* rename_tag_command_construct (GType object_type, Tag* tag, const gchar* new_name) { RenameTagCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; #line 1560 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_TAG (tag), NULL); #line 1560 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_name != NULL, NULL); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_get_user_visible_name (tag); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_rename_tag_label (_tmp1_, new_name); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject)); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" self = (RenameTagCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_PROXYABLE, Proxyable), _tmp3_, _tmp5_); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp5_); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 1561 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 1564 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = tag_get_user_visible_name (tag); #line 1564 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_name); #line 1564 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_name = _tmp6_; #line 1565 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = g_strdup (new_name); #line 1565 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_name); #line 1565 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_name = _tmp7_; #line 1560 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 13868 "Commands.c" } RenameTagCommand* rename_tag_command_new (Tag* tag, const gchar* new_name) { #line 1560 "/home/jens/Source/shotwell/src/Commands.vala" return rename_tag_command_construct (TYPE_RENAME_TAG_COMMAND, tag, new_name); #line 13878 "Commands.c" } static void rename_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { RenameTagCommand * self; const gchar* _tmp0_; #line 1568 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RENAME_TAG_COMMAND, RenameTagCommand); #line 1568 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1569 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->new_name; #line 1569 "/home/jens/Source/shotwell/src/Commands.vala" if (!tag_rename (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag), _tmp0_)) { #line 13896 "Commands.c" const gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 1570 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->new_name; #line 1570 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_rename_tag_exists_message (_tmp1_); #line 1570 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1570 "/home/jens/Source/shotwell/src/Commands.vala" app_window_error_message (_tmp3_, NULL); #line 1570 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 13910 "Commands.c" } } static void rename_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { RenameTagCommand * self; const gchar* _tmp0_; #line 1573 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RENAME_TAG_COMMAND, RenameTagCommand); #line 1573 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1574 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->old_name; #line 1574 "/home/jens/Source/shotwell/src/Commands.vala" if (!tag_rename (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag), _tmp0_)) { #line 13929 "Commands.c" const gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 1575 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_name; #line 1575 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_rename_tag_exists_message (_tmp1_); #line 1575 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1575 "/home/jens/Source/shotwell/src/Commands.vala" app_window_error_message (_tmp3_, NULL); #line 1575 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 13943 "Commands.c" } } static void rename_tag_command_class_init (RenameTagCommandClass * klass) { #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" rename_tag_command_parent_class = g_type_class_peek_parent (klass); #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (RenameTagCommandPrivate)); #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) rename_tag_command_real_execute_on_source; #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) rename_tag_command_real_undo_on_source; #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = rename_tag_command_finalize; #line 13961 "Commands.c" } static void rename_tag_command_instance_init (RenameTagCommand * self) { #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = RENAME_TAG_COMMAND_GET_PRIVATE (self); #line 13970 "Commands.c" } static void rename_tag_command_finalize (GObject * obj) { RenameTagCommand * self; #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RENAME_TAG_COMMAND, RenameTagCommand); #line 1556 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_name); #line 1557 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_name); #line 1555 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (rename_tag_command_parent_class)->finalize (obj); #line 13986 "Commands.c" } GType rename_tag_command_get_type (void) { static volatile gsize rename_tag_command_type_id__volatile = 0; if (g_once_init_enter (&rename_tag_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RenameTagCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rename_tag_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RenameTagCommand), 0, (GInstanceInitFunc) rename_tag_command_instance_init, NULL }; GType rename_tag_command_type_id; rename_tag_command_type_id = g_type_register_static (TYPE_SIMPLE_PROXYABLE_COMMAND, "RenameTagCommand", &g_define_type_info, 0); g_once_init_leave (&rename_tag_command_type_id__volatile, rename_tag_command_type_id); } return rename_tag_command_type_id__volatile; } DeleteTagCommand* delete_tag_command_construct (GType object_type, Tag* tag) { DeleteTagCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; #line 1582 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_TAG (tag), NULL); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_get_user_visible_name (tag); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_delete_tag_label (_tmp1_); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject)); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" self = (DeleteTagCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_PROXYABLE, Proxyable), _tmp3_, _tmp5_); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp5_); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 1583 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 1582 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 14039 "Commands.c" } DeleteTagCommand* delete_tag_command_new (Tag* tag) { #line 1582 "/home/jens/Source/shotwell/src/Commands.vala" return delete_tag_command_construct (TYPE_DELETE_TAG_COMMAND, tag); #line 14048 "Commands.c" } static void _delete_tag_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self) { #line 1597 "/home/jens/Source/shotwell/src/Commands.vala" delete_tag_command_on_proxy_broken ((DeleteTagCommand*) self); #line 14058 "Commands.c" } static void delete_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { DeleteTagCommand * self; Tag* tag = NULL; Tag* _tmp0_; GeeList* recursive_victims = NULL; Tag* _tmp1_; GeeList* _tmp2_; GeeList* _tmp3_; gint _tmp4_; gint _tmp5_; TagSourceCollection* _tmp28_; TagSourceCollection* _tmp29_; Marker* _tmp30_; Marker* _tmp31_; #line 1586 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DELETE_TAG_COMMAND, DeleteTagCommand); #line 1586 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1587 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag)); #line 1587 "/home/jens/Source/shotwell/src/Commands.vala" tag = _tmp0_; #line 1590 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag; #line 1590 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = tag_get_hierarchical_children (_tmp1_); #line 1590 "/home/jens/Source/shotwell/src/Commands.vala" recursive_victims = _tmp2_; #line 1591 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = recursive_victims; #line 1591 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1591 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 1591 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp5_ > 0) { #line 14101 "Commands.c" GeeArrayList* _tmp6_; #line 1594 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL); #line 1594 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->recursive_victim_proxies); #line 1594 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->recursive_victim_proxies = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList); #line 14109 "Commands.c" { GeeList* _victim_list = NULL; GeeList* _tmp7_; GeeList* _tmp8_; gint _victim_size = 0; GeeList* _tmp9_; gint _tmp10_; gint _tmp11_; gint _victim_index = 0; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = recursive_victims; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _g_object_ref0 (_tmp7_); #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _victim_list = _tmp8_; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _victim_list; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _victim_size = _tmp11_; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _victim_index = -1; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 14137 "Commands.c" gint _tmp12_; gint _tmp13_; gint _tmp14_; Tag* victim = NULL; GeeList* _tmp15_; gint _tmp16_; gpointer _tmp17_; SourceProxy* proxy = NULL; Tag* _tmp18_; SourceProxy* _tmp19_; SourceProxy* _tmp20_; GeeList* _tmp21_; SourceProxy* _tmp22_; TagSourceCollection* _tmp23_; TagSourceCollection* _tmp24_; Tag* _tmp25_; Marker* _tmp26_; Marker* _tmp27_; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _victim_index; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _victim_index = _tmp12_ + 1; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _victim_index; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _victim_size; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp13_ < _tmp14_)) { #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 14168 "Commands.c" } #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _victim_list; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _victim_index; #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = gee_list_get (_tmp15_, _tmp16_); #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" victim = (Tag*) _tmp17_; #line 1596 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = victim; #line 1596 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PROXYABLE, Proxyable)); #line 1596 "/home/jens/Source/shotwell/src/Commands.vala" proxy = _tmp19_; #line 1597 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = proxy; #line 1597 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp20_, "broken", (GCallback) _delete_tag_command_on_proxy_broken_source_proxy_broken, self, 0); #line 1598 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = self->priv->recursive_victim_proxies; #line 1598 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = proxy; #line 1598 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection), _tmp22_); #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = tag_global; #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = tag_global; #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = victim; #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _tmp26_; #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp27_, FALSE, NULL, NULL, NULL); #line 1600 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp27_); #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (victim); #line 14212 "Commands.c" } #line 1595 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_victim_list); #line 14216 "Commands.c" } } #line 1605 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = tag_global; #line 1605 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = tag_global; #line 1605 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_OBJECT, DataObject)); #line 1605 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = _tmp30_; #line 1605 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp31_, FALSE, NULL, NULL, NULL); #line 1605 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp31_); #line 1586 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (recursive_victims); #line 1586 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 14235 "Commands.c" } static void delete_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { DeleteTagCommand * self; GeeList* _tmp0_; #line 1608 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DELETE_TAG_COMMAND, DeleteTagCommand); #line 1608 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1611 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_TAG), "source is Tag"); #line 1614 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->recursive_victim_proxies; #line 1614 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ != NULL) { #line 14255 "Commands.c" { gint i = 0; GeeList* _tmp1_; gint _tmp2_; gint _tmp3_; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->recursive_victim_proxies; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp3_ - 1; #line 14269 "Commands.c" { gboolean _tmp4_ = FALSE; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = TRUE; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 14276 "Commands.c" gint _tmp6_; SourceProxy* proxy = NULL; GeeList* _tmp7_; gint _tmp8_; gpointer _tmp9_; DataSource* victim_source = NULL; SourceProxy* _tmp10_; DataSource* _tmp11_; DataSource* _tmp12_; SourceProxy* _tmp13_; guint _tmp14_; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp4_) { #line 14290 "Commands.c" gint _tmp5_; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = i; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp5_ - 1; #line 14296 "Commands.c" } #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = FALSE; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = i; #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp6_ >= 0)) { #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 14306 "Commands.c" } #line 1616 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->recursive_victim_proxies; #line 1616 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = i; #line 1616 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_list_get (_tmp7_, _tmp8_); #line 1616 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp9_; #line 1618 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = proxy; #line 1618 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = source_proxy_get_source (_tmp10_); #line 1618 "/home/jens/Source/shotwell/src/Commands.vala" victim_source = _tmp11_; #line 1619 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = victim_source; #line 1619 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_TAG), "victim_source is Tag"); #line 1621 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = proxy; #line 1621 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp14_, NULL, FALSE); #line 1621 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _delete_tag_command_on_proxy_broken_source_proxy_broken, self); #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (victim_source); #line 1615 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 14336 "Commands.c" } } } #line 1624 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->recursive_victim_proxies); #line 1624 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->recursive_victim_proxies = NULL; #line 14344 "Commands.c" } } static void delete_tag_command_on_proxy_broken (DeleteTagCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 1628 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DELETE_TAG_COMMAND (self)); #line 1629 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 1629 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1629 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 1629 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 14364 "Commands.c" } static void delete_tag_command_class_init (DeleteTagCommandClass * klass) { #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" delete_tag_command_parent_class = g_type_class_peek_parent (klass); #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (DeleteTagCommandPrivate)); #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) delete_tag_command_real_execute_on_source; #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) delete_tag_command_real_undo_on_source; #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = delete_tag_command_finalize; #line 14381 "Commands.c" } static void delete_tag_command_instance_init (DeleteTagCommand * self) { #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = DELETE_TAG_COMMAND_GET_PRIVATE (self); #line 1580 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->recursive_victim_proxies = NULL; #line 14392 "Commands.c" } static void delete_tag_command_finalize (GObject * obj) { DeleteTagCommand * self; #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DELETE_TAG_COMMAND, DeleteTagCommand); #line 1580 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->recursive_victim_proxies); #line 1579 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (delete_tag_command_parent_class)->finalize (obj); #line 14406 "Commands.c" } GType delete_tag_command_get_type (void) { static volatile gsize delete_tag_command_type_id__volatile = 0; if (g_once_init_enter (&delete_tag_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (DeleteTagCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) delete_tag_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DeleteTagCommand), 0, (GInstanceInitFunc) delete_tag_command_instance_init, NULL }; GType delete_tag_command_type_id; delete_tag_command_type_id = g_type_register_static (TYPE_SIMPLE_PROXYABLE_COMMAND, "DeleteTagCommand", &g_define_type_info, 0); g_once_init_leave (&delete_tag_command_type_id__volatile, delete_tag_command_type_id); } return delete_tag_command_type_id__volatile; } NewChildTagCommand* new_child_tag_command_construct (GType object_type, Tag* tag) { NewChildTagCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; #line 1636 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_TAG (tag), NULL); #line 1637 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject)); #line 1637 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1637 "/home/jens/Source/shotwell/src/Commands.vala" self = (NewChildTagCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_PROXYABLE, Proxyable), _ ("Create Tag"), _tmp1_); #line 1637 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 1636 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 14443 "Commands.c" } NewChildTagCommand* new_child_tag_command_new (Tag* tag) { #line 1636 "/home/jens/Source/shotwell/src/Commands.vala" return new_child_tag_command_construct (TYPE_NEW_CHILD_TAG_COMMAND, tag); #line 14452 "Commands.c" } static void new_child_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { NewChildTagCommand * self; Tag* tag = NULL; Tag* _tmp0_; Tag* _tmp1_; #line 1640 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommand); #line 1640 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1641 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag)); #line 1641 "/home/jens/Source/shotwell/src/Commands.vala" tag = _tmp0_; #line 1642 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_create_new_child (tag); #line 1642 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->created_child); #line 1642 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->created_child = _tmp1_; #line 1640 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 14480 "Commands.c" } static void new_child_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { NewChildTagCommand * self; TagSourceCollection* _tmp0_; TagSourceCollection* _tmp1_; Tag* _tmp2_; Marker* _tmp3_; Marker* _tmp4_; #line 1645 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommand); #line 1645 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_global; #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_global; #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->created_child; #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp4_, TRUE, NULL, NULL, NULL); #line 1646 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 14512 "Commands.c" } Tag* new_child_tag_command_get_created_child (NewChildTagCommand* self) { Tag* result = NULL; Tag* _tmp0_; Tag* _tmp1_; Tag* _tmp2_; #line 1649 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_NEW_CHILD_TAG_COMMAND (self), NULL); #line 1650 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->created_child; #line 1650 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "created_child != null"); #line 1652 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->created_child; #line 1652 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _g_object_ref0 (_tmp1_); #line 1652 "/home/jens/Source/shotwell/src/Commands.vala" result = _tmp2_; #line 1652 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 14537 "Commands.c" } static void new_child_tag_command_class_init (NewChildTagCommandClass * klass) { #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" new_child_tag_command_parent_class = g_type_class_peek_parent (klass); #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (NewChildTagCommandPrivate)); #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) new_child_tag_command_real_execute_on_source; #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) new_child_tag_command_real_undo_on_source; #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = new_child_tag_command_finalize; #line 14554 "Commands.c" } static void new_child_tag_command_instance_init (NewChildTagCommand * self) { #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = NEW_CHILD_TAG_COMMAND_GET_PRIVATE (self); #line 1634 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->created_child = NULL; #line 14565 "Commands.c" } static void new_child_tag_command_finalize (GObject * obj) { NewChildTagCommand * self; #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommand); #line 1634 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->created_child); #line 1633 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (new_child_tag_command_parent_class)->finalize (obj); #line 14579 "Commands.c" } GType new_child_tag_command_get_type (void) { static volatile gsize new_child_tag_command_type_id__volatile = 0; if (g_once_init_enter (&new_child_tag_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (NewChildTagCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) new_child_tag_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NewChildTagCommand), 0, (GInstanceInitFunc) new_child_tag_command_instance_init, NULL }; GType new_child_tag_command_type_id; new_child_tag_command_type_id = g_type_register_static (TYPE_SIMPLE_PROXYABLE_COMMAND, "NewChildTagCommand", &g_define_type_info, 0); g_once_init_leave (&new_child_tag_command_type_id__volatile, new_child_tag_command_type_id); } return new_child_tag_command_type_id__volatile; } NewRootTagCommand* new_root_tag_command_construct (GType object_type) { NewRootTagCommand * self = NULL; #line 1660 "/home/jens/Source/shotwell/src/Commands.vala" self = (NewRootTagCommand*) page_command_construct (object_type, _ ("Create Tag"), ""); #line 1659 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 14605 "Commands.c" } NewRootTagCommand* new_root_tag_command_new (void) { #line 1659 "/home/jens/Source/shotwell/src/Commands.vala" return new_root_tag_command_construct (TYPE_NEW_ROOT_TAG_COMMAND); #line 14614 "Commands.c" } static void new_root_tag_command_real_execute (Command* base) { NewRootTagCommand * self; SourceProxy* _tmp0_; #line 1663 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommand); #line 1664 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->created_proxy; #line 1664 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ == NULL) { #line 14629 "Commands.c" Tag* _tmp1_; Tag* _tmp2_; SourceProxy* _tmp3_; #line 1665 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_create_new_root (); #line 1665 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 1665 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PROXYABLE, Proxyable)); #line 1665 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (self->priv->created_proxy); #line 1665 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->created_proxy = _tmp3_; #line 1665 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp2_); #line 14645 "Commands.c" } else { SourceProxy* _tmp4_; DataSource* _tmp5_; DataSource* _tmp6_; #line 1667 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->created_proxy; #line 1667 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = source_proxy_get_source (_tmp4_); #line 1667 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1667 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp6_); #line 14658 "Commands.c" } } static void new_root_tag_command_real_undo (Command* base) { NewRootTagCommand * self; TagSourceCollection* _tmp0_; TagSourceCollection* _tmp1_; SourceProxy* _tmp2_; DataSource* _tmp3_; DataSource* _tmp4_; Marker* _tmp5_; Marker* _tmp6_; #line 1670 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommand); #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_global; #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_global; #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->created_proxy; #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = source_proxy_get_source (_tmp2_); #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_, TRUE, NULL, NULL, NULL); #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp6_); #line 1671 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 14696 "Commands.c" } Tag* new_root_tag_command_get_created_tag (NewRootTagCommand* self) { Tag* result = NULL; SourceProxy* _tmp0_; DataSource* _tmp1_; #line 1674 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_NEW_ROOT_TAG_COMMAND (self), NULL); #line 1675 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->created_proxy; #line 1675 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = source_proxy_get_source (_tmp0_); #line 1675 "/home/jens/Source/shotwell/src/Commands.vala" result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TAG, Tag); #line 1675 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 14716 "Commands.c" } static void new_root_tag_command_class_init (NewRootTagCommandClass * klass) { #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" new_root_tag_command_parent_class = g_type_class_peek_parent (klass); #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (NewRootTagCommandPrivate)); #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) new_root_tag_command_real_execute; #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) new_root_tag_command_real_undo; #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = new_root_tag_command_finalize; #line 14733 "Commands.c" } static void new_root_tag_command_instance_init (NewRootTagCommand * self) { #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = NEW_ROOT_TAG_COMMAND_GET_PRIVATE (self); #line 1657 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->created_proxy = NULL; #line 14744 "Commands.c" } static void new_root_tag_command_finalize (GObject * obj) { NewRootTagCommand * self; #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommand); #line 1657 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (self->priv->created_proxy); #line 1656 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (new_root_tag_command_parent_class)->finalize (obj); #line 14758 "Commands.c" } GType new_root_tag_command_get_type (void) { static volatile gsize new_root_tag_command_type_id__volatile = 0; if (g_once_init_enter (&new_root_tag_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (NewRootTagCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) new_root_tag_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NewRootTagCommand), 0, (GInstanceInitFunc) new_root_tag_command_instance_init, NULL }; GType new_root_tag_command_type_id; new_root_tag_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "NewRootTagCommand", &g_define_type_info, 0); g_once_init_leave (&new_root_tag_command_type_id__volatile, new_root_tag_command_type_id); } return new_root_tag_command_type_id__volatile; } static void _reparent_tag_command_on_items_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self) { #line 1724 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_on_items_destroyed ((ReparentTagCommand*) self, destroyed); #line 14783 "Commands.c" } ReparentTagCommand* reparent_tag_command_construct (GType object_type, Tag* tag, const gchar* new_parent_path) { ReparentTagCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gboolean has_children = FALSE; GeeList* _tmp5_; GeeList* _tmp6_; gint _tmp7_; gint _tmp8_; gboolean _tmp9_; gchar* basename = NULL; gchar* _tmp10_; gchar* new_to_path = NULL; const gchar* _tmp28_; gchar* _tmp29_; const gchar* _tmp30_; TagSourceCollection* _tmp33_; const gchar* _tmp34_; GeeHashSet* _tmp35_; GeeCollection* _tmp36_; GeeCollection* _tmp37_; LibraryPhotoSourceCollection* _tmp38_; VideoSourceCollection* _tmp39_; #line 1694 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_TAG (tag), NULL); #line 1694 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_parent_path != NULL, NULL); #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_get_user_visible_name (tag); #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = g_strdup_printf (_ ("Move Tag “%s”"), _tmp1_); #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" self = (ReparentTagCommand*) page_command_construct (object_type, _tmp3_, ""); #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 1695 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 1697 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = tag_get_path (tag); #line 1697 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->from_path); #line 1697 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->from_path = _tmp4_; #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = tag_get_hierarchical_children (tag); #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _tmp8_ > 0; #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp6_); #line 1699 "/home/jens/Source/shotwell/src/Commands.vala" has_children = _tmp9_; #line 1700 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = tag_get_user_visible_name (tag); #line 1700 "/home/jens/Source/shotwell/src/Commands.vala" basename = _tmp10_; #line 1702 "/home/jens/Source/shotwell/src/Commands.vala" if (g_strcmp0 (new_parent_path, TAG_PATH_SEPARATOR_STRING) == 0) { #line 14861 "Commands.c" gchar* _tmp11_ = NULL; gboolean _tmp12_; gchar* _tmp17_; #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = has_children; #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp12_) { #line 14869 "Commands.c" const gchar* _tmp13_; gchar* _tmp14_; #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = basename; #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp13_, NULL); #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp11_); #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp14_; #line 14880 "Commands.c" } else { const gchar* _tmp15_; gchar* _tmp16_; #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = basename; #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = g_strdup (_tmp15_); #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp11_); #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp16_; #line 14892 "Commands.c" } #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = g_strdup (_tmp11_); #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path); #line 1703 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path = _tmp17_; #line 1702 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp11_); #line 14902 "Commands.c" } else { #line 1704 "/home/jens/Source/shotwell/src/Commands.vala" if (g_str_has_prefix (new_parent_path, TAG_PATH_SEPARATOR_STRING)) { #line 14906 "Commands.c" gchar* _tmp18_; gchar* _tmp19_; const gchar* _tmp20_; gchar* _tmp21_; #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = g_strconcat (new_parent_path, TAG_PATH_SEPARATOR_STRING, NULL); #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _tmp18_; #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = basename; #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = g_strconcat (_tmp19_, _tmp20_, NULL); #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path); #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path = _tmp21_; #line 1705 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp19_); #line 14925 "Commands.c" } else { gchar* _tmp22_; gchar* _tmp23_; gchar* _tmp24_; gchar* _tmp25_; const gchar* _tmp26_; gchar* _tmp27_; #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, new_parent_path, NULL); #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _tmp22_; #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = g_strconcat (_tmp23_, TAG_PATH_SEPARATOR_STRING, NULL); #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _tmp24_; #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = basename; #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = g_strconcat (_tmp25_, _tmp26_, NULL); #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path); #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path = _tmp27_; #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp25_); #line 1707 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp23_); #line 14953 "Commands.c" } } #line 1710 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = self->priv->to_path; #line 1710 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = hierarchical_tag_utilities_get_root_path_form (_tmp28_); #line 1710 "/home/jens/Source/shotwell/src/Commands.vala" new_to_path = _tmp29_; #line 1711 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = new_to_path; #line 1711 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp30_ != NULL) { #line 14966 "Commands.c" const gchar* _tmp31_; gchar* _tmp32_; #line 1712 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = new_to_path; #line 1712 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = g_strdup (_tmp31_); #line 1712 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path); #line 1712 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path = _tmp32_; #line 14977 "Commands.c" } #line 1714 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = tag_global; #line 1714 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = self->priv->to_path; #line 1714 "/home/jens/Source/shotwell/src/Commands.vala" if (tag_source_collection_exists (_tmp33_, _tmp34_, FALSE)) { #line 1715 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path_exists = TRUE; #line 14987 "Commands.c" } #line 1717 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = self->priv->sources_in_play; #line 1717 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = tag_get_sources (tag); #line 1717 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = _tmp36_; #line 1717 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); #line 1717 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp37_); #line 1719 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = library_photo_global; #line 1719 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-destroyed", (GCallback) _reparent_tag_command_on_items_destroyed_source_collection_items_destroyed, self, 0); #line 1720 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = video_global; #line 1720 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-destroyed", (GCallback) _reparent_tag_command_on_items_destroyed_source_collection_items_destroyed, self, 0); #line 1694 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_to_path); #line 1694 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (basename); #line 1694 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 15013 "Commands.c" } ReparentTagCommand* reparent_tag_command_new (Tag* tag, const gchar* new_parent_path) { #line 1694 "/home/jens/Source/shotwell/src/Commands.vala" return reparent_tag_command_construct (TYPE_REPARENT_TAG_COMMAND, tag, new_parent_path); #line 15023 "Commands.c" } static void reparent_tag_command_on_items_destroyed (ReparentTagCommand* self, GeeCollection* destroyed) { #line 1728 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1728 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (destroyed)); #line 15035 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (destroyed, GEE_TYPE_ITERABLE, GeeIterable)); #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 15045 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; GeeHashSet* _tmp4_; DataSource* _tmp5_; #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 15058 "Commands.c" } #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 1730 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->sources_in_play; #line 1730 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = source; #line 1730 "/home/jens/Source/shotwell/src/Commands.vala" if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource))) { #line 15072 "Commands.c" CommandManager* _tmp6_; CommandManager* _tmp7_; #line 1731 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 1731 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 1731 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp7_); #line 1731 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp7_); #line 15083 "Commands.c" } #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 15087 "Commands.c" } #line 1729 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 15091 "Commands.c" } } static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { gchar* result = NULL; gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; GError * _inner_error_ = NULL; #line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail (self != NULL, NULL); #line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail (old != NULL, NULL); #line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail (replacement != NULL, NULL); #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if ((*((gchar*) self)) == '\0') { #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp1_ = TRUE; #line 15115 "Commands.c" } else { #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp1_ = (*((gchar*) old)) == '\0'; #line 15119 "Commands.c" } #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (_tmp1_) { #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp0_ = TRUE; #line 15125 "Commands.c" } else { #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp0_ = g_strcmp0 (old, replacement) == 0; #line 15129 "Commands.c" } #line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (_tmp0_) { #line 15133 "Commands.c" gchar* _tmp2_; #line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp2_ = g_strdup (self); #line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" result = _tmp2_; #line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return result; #line 15141 "Commands.c" } { GRegex* regex = NULL; gchar* _tmp3_; gchar* _tmp4_; GRegex* _tmp5_; GRegex* _tmp6_; gchar* _tmp7_ = NULL; GRegex* _tmp8_; gchar* _tmp9_; gchar* _tmp10_; #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp3_ = g_regex_escape_string (old, -1); #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp4_ = _tmp3_; #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error_); #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp6_ = _tmp5_; #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _g_free0 (_tmp4_); #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" regex = _tmp6_; #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (_inner_error_->domain == G_REGEX_ERROR) { #line 15169 "Commands.c" goto __catch469_g_regex_error; } #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_clear_error (&_inner_error_); #line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return NULL; #line 15178 "Commands.c" } #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp8_ = regex; #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error_); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp7_ = _tmp9_; #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _g_regex_unref0 (regex); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (_inner_error_->domain == G_REGEX_ERROR) { #line 15192 "Commands.c" goto __catch469_g_regex_error; } #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _g_regex_unref0 (regex); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_clear_error (&_inner_error_); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return NULL; #line 15203 "Commands.c" } #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp10_ = _tmp7_; #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp7_ = NULL; #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" result = _tmp10_; #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _g_free0 (_tmp7_); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _g_regex_unref0 (regex); #line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return result; #line 15217 "Commands.c" } goto __finally469; __catch469_g_regex_error: { GError* e = NULL; #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" e = _inner_error_; #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _inner_error_ = NULL; #line 1429 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_assert_not_reached (); #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _g_error_free0 (e); #line 15231 "Commands.c" } __finally469: #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_clear_error (&_inner_error_); #line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return NULL; #line 15242 "Commands.c" } } static GeeMap* reparent_tag_command_get_child_structure_at (ReparentTagCommand* self, const gchar* client_path) { GeeMap* result = NULL; gchar* path = NULL; gchar* _tmp0_; const gchar* _tmp1_ = NULL; const gchar* _tmp2_; gchar* _tmp4_; GeeMap* _result_ = NULL; GeeHashMap* _tmp5_; TagSourceCollection* _tmp6_; const gchar* _tmp7_; Tag* tag = NULL; const gchar* _tmp8_; Tag* _tmp9_; gchar* path_prefix = NULL; Tag* _tmp10_; gchar* _tmp11_; gchar* _tmp12_; gchar* _tmp13_; gchar* _tmp14_; #line 1735 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_REPARENT_TAG_COMMAND (self), NULL); #line 1735 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (client_path != NULL, NULL); #line 1736 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = hierarchical_tag_utilities_get_root_path_form (client_path); #line 1736 "/home/jens/Source/shotwell/src/Commands.vala" path = _tmp0_; #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = path; #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 15282 "Commands.c" const gchar* _tmp3_; #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = path; #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp3_; #line 15288 "Commands.c" } else { #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = client_path; #line 15292 "Commands.c" } #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = g_strdup (_tmp1_); #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 1737 "/home/jens/Source/shotwell/src/Commands.vala" path = _tmp4_; #line 1739 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1739 "/home/jens/Source/shotwell/src/Commands.vala" _result_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MAP, GeeMap); #line 1742 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = tag_global; #line 1742 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = path; #line 1742 "/home/jens/Source/shotwell/src/Commands.vala" if (!tag_source_collection_exists (_tmp6_, _tmp7_, FALSE)) { #line 1743 "/home/jens/Source/shotwell/src/Commands.vala" result = _result_; #line 1743 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 1743 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 15316 "Commands.c" } #line 1745 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = path; #line 1745 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = tag_for_path (_tmp8_); #line 1745 "/home/jens/Source/shotwell/src/Commands.vala" tag = _tmp9_; #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = tag; #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = tag_get_path (_tmp10_); #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _tmp11_; #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = g_strconcat (_tmp12_, TAG_PATH_SEPARATOR_STRING, NULL); #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _tmp13_; #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp12_); #line 1747 "/home/jens/Source/shotwell/src/Commands.vala" path_prefix = _tmp14_; #line 15338 "Commands.c" { GeeList* _t_list = NULL; Tag* _tmp15_; GeeList* _tmp16_; gint _t_size = 0; GeeList* _tmp17_; gint _tmp18_; gint _tmp19_; gint _t_index = 0; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = tag; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = tag_get_hierarchical_children (_tmp15_); #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _t_list = _tmp16_; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _t_list; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _tmp18_; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _t_size = _tmp19_; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _t_index = -1; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 15366 "Commands.c" gint _tmp20_; gint _tmp21_; gint _tmp22_; Tag* t = NULL; GeeList* _tmp23_; gint _tmp24_; gpointer _tmp25_; gchar* child_subpath = NULL; Tag* _tmp26_; gchar* _tmp27_; gchar* _tmp28_; const gchar* _tmp29_; gchar* _tmp30_; gchar* _tmp31_; GeeMap* _tmp32_; const gchar* _tmp33_; GeeHashSet* _tmp34_; GeeHashSet* _tmp35_; GeeMap* _tmp36_; const gchar* _tmp37_; gpointer _tmp38_; GeeSet* _tmp39_; Tag* _tmp40_; GeeCollection* _tmp41_; GeeCollection* _tmp42_; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _t_index; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _t_index = _tmp20_ + 1; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _t_index; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _t_size; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp21_ < _tmp22_)) { #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 15404 "Commands.c" } #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _t_list; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _t_index; #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = gee_list_get (_tmp23_, _tmp24_); #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" t = (Tag*) _tmp25_; #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = t; #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = tag_get_path (_tmp26_); #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = _tmp27_; #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = path_prefix; #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = string_replace (_tmp28_, _tmp29_, ""); #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = _tmp30_; #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp28_); #line 1749 "/home/jens/Source/shotwell/src/Commands.vala" child_subpath = _tmp31_; #line 1751 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = _result_; #line 1751 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = child_subpath; #line 1751 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 1751 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = _tmp34_; #line 1751 "/home/jens/Source/shotwell/src/Commands.vala" gee_map_set (_tmp32_, _tmp33_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_SET, GeeSet)); #line 1751 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp35_); #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = _result_; #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = child_subpath; #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = gee_map_get (_tmp36_, _tmp37_); #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = (GeeSet*) _tmp38_; #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = t; #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = tag_get_sources (_tmp40_); #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = _tmp41_; #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection), _tmp42_); #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp42_); #line 1752 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp39_); #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_subpath); #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (t); #line 15466 "Commands.c" } #line 1748 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_t_list); #line 15470 "Commands.c" } #line 1755 "/home/jens/Source/shotwell/src/Commands.vala" result = _result_; #line 1755 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path_prefix); #line 1755 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 1755 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 1755 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 15482 "Commands.c" } static void reparent_tag_command_restore_child_attachments_at (ReparentTagCommand* self, const gchar* client_path, GeeMap* child_structure) { gchar* new_path = NULL; gchar* _tmp0_; const gchar* _tmp1_ = NULL; const gchar* _tmp2_; gchar* path = NULL; gchar* _tmp4_; TagSourceCollection* _tmp5_; const gchar* _tmp6_; Tag* tag = NULL; const gchar* _tmp7_; Tag* _tmp8_; #line 1758 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1758 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (client_path != NULL); #line 1758 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_MAP (child_structure)); #line 1761 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = hierarchical_tag_utilities_get_root_path_form (client_path); #line 1761 "/home/jens/Source/shotwell/src/Commands.vala" new_path = _tmp0_; #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = new_path; #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 15516 "Commands.c" const gchar* _tmp3_; #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = new_path; #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp3_; #line 15522 "Commands.c" } else { #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = client_path; #line 15526 "Commands.c" } #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = g_strdup (_tmp1_); #line 1762 "/home/jens/Source/shotwell/src/Commands.vala" path = _tmp4_; #line 1764 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = tag_global; #line 1764 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = path; #line 1764 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp5_, _tmp6_, FALSE), "Tag.global.exists(path)"); #line 1765 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = path; #line 1765 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = tag_for_path (_tmp7_); #line 1765 "/home/jens/Source/shotwell/src/Commands.vala" tag = _tmp8_; #line 15544 "Commands.c" { GeeIterator* _child_subpath_it = NULL; GeeSet* _tmp9_; GeeSet* _tmp10_; GeeSet* _tmp11_; GeeIterator* _tmp12_; GeeIterator* _tmp13_; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_map_get_keys (child_structure); #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _tmp12_; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _child_subpath_it = _tmp13_; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 15568 "Commands.c" GeeIterator* _tmp14_; gchar* child_subpath = NULL; GeeIterator* _tmp15_; gpointer _tmp16_; gchar* child_path = NULL; Tag* _tmp17_; gchar* _tmp18_; gchar* _tmp19_; gchar* _tmp20_; gchar* _tmp21_; const gchar* _tmp22_; gchar* _tmp23_; gchar* _tmp24_; Tag* _tmp25_; gchar* _tmp26_; gchar* _tmp27_; gboolean _tmp28_; TagSourceCollection* _tmp37_; const gchar* _tmp38_; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _child_subpath_it; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp14_)) { #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 15594 "Commands.c" } #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _child_subpath_it; #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = gee_iterator_get (_tmp15_); #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" child_subpath = (gchar*) _tmp16_; #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = tag; #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = tag_get_path (_tmp17_); #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _tmp18_; #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = g_strconcat (_tmp19_, TAG_PATH_SEPARATOR_STRING, NULL); #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = child_subpath; #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = g_strconcat (_tmp21_, _tmp22_, NULL); #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _tmp23_; #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp21_); #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp19_); #line 1768 "/home/jens/Source/shotwell/src/Commands.vala" child_path = _tmp24_; #line 1770 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = tag; #line 1770 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = tag_get_path (_tmp25_); #line 1770 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _tmp26_; #line 1770 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = !g_str_has_prefix (_tmp27_, TAG_PATH_SEPARATOR_STRING); #line 1770 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp27_); #line 1770 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp28_) { #line 15636 "Commands.c" Tag* _tmp29_; Tag* _tmp30_; gchar* _tmp31_; gchar* _tmp32_; gchar* _tmp33_; gchar* _tmp34_; const gchar* _tmp35_; gchar* _tmp36_; #line 1771 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = tag; #line 1771 "/home/jens/Source/shotwell/src/Commands.vala" tag_promote (_tmp29_); #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = tag; #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = tag_get_path (_tmp30_); #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = _tmp31_; #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = g_strconcat (_tmp32_, TAG_PATH_SEPARATOR_STRING, NULL); #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = _tmp33_; #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = child_subpath; #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = g_strconcat (_tmp34_, _tmp35_, NULL); #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_path); #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" child_path = _tmp36_; #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp34_); #line 1772 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp32_); #line 15671 "Commands.c" } #line 1775 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = tag_global; #line 1775 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = child_path; #line 1775 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp37_, _tmp38_, FALSE), "Tag.global.exists(child_path)"); #line 15679 "Commands.c" { GeeIterator* _s_it = NULL; const gchar* _tmp39_; gpointer _tmp40_; GeeSet* _tmp41_; GeeIterator* _tmp42_; GeeIterator* _tmp43_; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = child_subpath; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = gee_map_get (child_structure, _tmp39_); #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = (GeeSet*) _tmp40_; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = _tmp42_; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp41_); #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _s_it = _tmp43_; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 15703 "Commands.c" GeeIterator* _tmp44_; MediaSource* s = NULL; GeeIterator* _tmp45_; gpointer _tmp46_; const gchar* _tmp47_; Tag* _tmp48_; Tag* _tmp49_; MediaSource* _tmp50_; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = _s_it; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp44_)) { #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 15718 "Commands.c" } #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = _s_it; #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _tmp46_ = gee_iterator_get (_tmp45_); #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" s = (MediaSource*) _tmp46_; #line 1778 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = child_path; #line 1778 "/home/jens/Source/shotwell/src/Commands.vala" _tmp48_ = tag_for_path (_tmp47_); #line 1778 "/home/jens/Source/shotwell/src/Commands.vala" _tmp49_ = _tmp48_; #line 1778 "/home/jens/Source/shotwell/src/Commands.vala" _tmp50_ = s; #line 1778 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp49_, _tmp50_); #line 1778 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp49_); #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (s); #line 15740 "Commands.c" } #line 1777 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_s_it); #line 15744 "Commands.c" } #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_path); #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_subpath); #line 15750 "Commands.c" } #line 1767 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_child_subpath_it); #line 15754 "Commands.c" } #line 1758 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 1758 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 1758 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_path); #line 15762 "Commands.c" } static void reparent_tag_command_reattach_in_play_sources_at (ReparentTagCommand* self, const gchar* client_path) { gchar* new_path = NULL; gchar* _tmp0_; const gchar* _tmp1_ = NULL; const gchar* _tmp2_; gchar* path = NULL; gchar* _tmp4_; TagSourceCollection* _tmp5_; const gchar* _tmp6_; Tag* tag = NULL; const gchar* _tmp7_; Tag* _tmp8_; #line 1782 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1782 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (client_path != NULL); #line 1783 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = hierarchical_tag_utilities_get_root_path_form (client_path); #line 1783 "/home/jens/Source/shotwell/src/Commands.vala" new_path = _tmp0_; #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = new_path; #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 15793 "Commands.c" const gchar* _tmp3_; #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = new_path; #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp3_; #line 15799 "Commands.c" } else { #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = client_path; #line 15803 "Commands.c" } #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = g_strdup (_tmp1_); #line 1784 "/home/jens/Source/shotwell/src/Commands.vala" path = _tmp4_; #line 1786 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = tag_global; #line 1786 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = path; #line 1786 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp5_, _tmp6_, FALSE), "Tag.global.exists(path)"); #line 1788 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = path; #line 1788 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = tag_for_path (_tmp7_); #line 1788 "/home/jens/Source/shotwell/src/Commands.vala" tag = _tmp8_; #line 15821 "Commands.c" { GeeIterator* _s_it = NULL; GeeHashSet* _tmp9_; GeeIterator* _tmp10_; #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->sources_in_play; #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _s_it = _tmp10_; #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 15834 "Commands.c" GeeIterator* _tmp11_; MediaSource* s = NULL; GeeIterator* _tmp12_; gpointer _tmp13_; Tag* _tmp14_; MediaSource* _tmp15_; #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _s_it; #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp11_)) { #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 15847 "Commands.c" } #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _s_it; #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_iterator_get (_tmp12_); #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" s = (MediaSource*) _tmp13_; #line 1791 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = tag; #line 1791 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = s; #line 1791 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp14_, _tmp15_); #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (s); #line 15863 "Commands.c" } #line 1790 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_s_it); #line 15867 "Commands.c" } #line 1782 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 1782 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 1782 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_path); #line 15875 "Commands.c" } static void reparent_tag_command_save_before_state (ReparentTagCommand* self) { GeeList* _tmp0_; GeeList* _tmp1_; GeeArrayList* _tmp2_; GeeArrayList* _tmp3_; GeeMap* _tmp4_; const gchar* _tmp5_; GeeMap* _tmp6_; TagSourceCollection* _tmp7_; const gchar* _tmp8_; Tag* from_tag = NULL; const gchar* _tmp9_; Tag* _tmp10_; GeeList* _tmp11_; Tag* _tmp12_; SourceProxy* _tmp13_; SourceProxy* _tmp14_; GeeList* parent_paths = NULL; const gchar* _tmp15_; GeeList* _tmp16_; GeeList* _tmp17_; gint _tmp18_; gint _tmp19_; const gchar* _tmp25_; const gchar* _tmp29_; const gchar* _tmp41_; const gchar* _tmp57_; GeeList* from_children = NULL; Tag* _tmp64_; GeeList* _tmp65_; const gchar* _tmp79_; const gchar* _tmp98_; #line 1794 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1795 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->src_before_state; #line 1795 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ == NULL, "src_before_state == null"); #line 1796 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->dest_before_state; #line 1796 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp1_ == NULL, "dest_before_state == null"); #line 1798 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL); #line 1798 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->src_before_state); #line 1798 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->src_before_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList); #line 1799 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL); #line 1799 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dest_before_state); #line 1799 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->dest_before_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList); #line 1802 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->in_play_child_structure; #line 1802 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp4_ == NULL, "in_play_child_structure == null"); #line 1803 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->from_path; #line 1803 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = reparent_tag_command_get_child_structure_at (self, _tmp5_); #line 1803 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->in_play_child_structure); #line 1803 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->in_play_child_structure = _tmp6_; #line 1806 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = tag_global; #line 1806 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->from_path; #line 1806 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp7_, _tmp8_, FALSE), "Tag.global.exists(from_path)"); #line 1807 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->from_path; #line 1807 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = tag_for_path (_tmp9_); #line 1807 "/home/jens/Source/shotwell/src/Commands.vala" from_tag = _tmp10_; #line 1808 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = self->priv->src_before_state; #line 1808 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = from_tag; #line 1808 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PROXYABLE, Proxyable)); #line 1808 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _tmp13_; #line 1808 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection), _tmp14_); #line 1808 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp14_); #line 1811 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = self->priv->to_path; #line 1811 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp15_); #line 1811 "/home/jens/Source/shotwell/src/Commands.vala" parent_paths = _tmp16_; #line 1812 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = parent_paths; #line 1812 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1812 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _tmp18_; #line 1812 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp19_ > 0) { #line 15985 "Commands.c" GeeList* _tmp20_; GeeList* _tmp21_; gint _tmp22_; gint _tmp23_; gpointer _tmp24_; #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = parent_paths; #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = parent_paths; #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _tmp22_; #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = gee_list_get (_tmp20_, _tmp23_ - 1); #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path_parent_path); #line 1813 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path_parent_path = (gchar*) _tmp24_; #line 16005 "Commands.c" } #line 1814 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = self->priv->to_path_parent_path; #line 1814 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp25_ != NULL) { #line 16011 "Commands.c" GeeMap* _tmp26_; const gchar* _tmp27_; GeeMap* _tmp28_; #line 1815 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = self->priv->existing_dest_child_structure; #line 1815 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp26_ == NULL, "existing_dest_child_structure == null"); #line 1816 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = self->priv->to_path_parent_path; #line 1816 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = reparent_tag_command_get_child_structure_at (self, _tmp27_); #line 1816 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->existing_dest_child_structure); #line 1816 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->existing_dest_child_structure = _tmp28_; #line 16027 "Commands.c" } #line 1820 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = self->priv->to_path_parent_path; #line 1820 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp29_ == NULL) { #line 16033 "Commands.c" GeeMap* _tmp30_; GeeSet* _tmp31_; const gchar* _tmp32_; GeeMap* _tmp33_; GeeHashSet* _tmp34_; GeeSet* _tmp35_; const gchar* _tmp36_; Tag* _tmp37_; Tag* _tmp38_; GeeCollection* _tmp39_; GeeCollection* _tmp40_; #line 1821 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = self->priv->existing_dest_child_structure; #line 1821 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp30_ == NULL, "existing_dest_child_structure == null"); #line 1822 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = self->priv->existing_dest_membership; #line 1822 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp31_ == NULL, "existing_dest_membership == null"); #line 1823 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = self->priv->to_path; #line 1823 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = reparent_tag_command_get_child_structure_at (self, _tmp32_); #line 1823 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->existing_dest_child_structure); #line 1823 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->existing_dest_child_structure = _tmp33_; #line 1824 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 1824 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->existing_dest_membership); #line 1824 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->existing_dest_membership = G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_SET, GeeSet); #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = self->priv->existing_dest_membership; #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = self->priv->to_path; #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = tag_for_path (_tmp36_); #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = _tmp37_; #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = tag_get_sources (_tmp38_); #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = _tmp39_; #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), _tmp40_); #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp40_); #line 1825 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp38_); #line 16085 "Commands.c" } #line 1829 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = self->priv->to_path_parent_path; #line 1829 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp41_ != NULL) { #line 16091 "Commands.c" gchar* new_tpp = NULL; const gchar* _tmp42_; gchar* _tmp43_; const gchar* _tmp44_ = NULL; const gchar* _tmp45_; gchar* _tmp48_; TagSourceCollection* _tmp49_; const gchar* _tmp50_; GeeList* _tmp51_; const gchar* _tmp52_; Tag* _tmp53_; Tag* _tmp54_; SourceProxy* _tmp55_; SourceProxy* _tmp56_; #line 1830 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = self->priv->to_path_parent_path; #line 1830 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = hierarchical_tag_utilities_get_root_path_form (_tmp42_); #line 1830 "/home/jens/Source/shotwell/src/Commands.vala" new_tpp = _tmp43_; #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = new_tpp; #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp45_ != NULL) { #line 16116 "Commands.c" const gchar* _tmp46_; #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _tmp46_ = new_tpp; #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = _tmp46_; #line 16122 "Commands.c" } else { const gchar* _tmp47_; #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = self->priv->to_path_parent_path; #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = _tmp47_; #line 16129 "Commands.c" } #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _tmp48_ = g_strdup (_tmp44_); #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path_parent_path); #line 1831 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path_parent_path = _tmp48_; #line 1832 "/home/jens/Source/shotwell/src/Commands.vala" _tmp49_ = tag_global; #line 1832 "/home/jens/Source/shotwell/src/Commands.vala" _tmp50_ = self->priv->to_path_parent_path; #line 1832 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp49_, _tmp50_, FALSE), "Tag.global.exists(to_path_parent_path)"); #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _tmp51_ = self->priv->dest_before_state; #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _tmp52_ = self->priv->to_path_parent_path; #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _tmp53_ = tag_for_path (_tmp52_); #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _tmp54_ = _tmp53_; #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _tmp55_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_PROXYABLE, Proxyable)); #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _tmp56_ = _tmp55_; #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection), _tmp56_); #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp56_); #line 1833 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp54_); #line 1829 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_tpp); #line 16163 "Commands.c" } #line 1837 "/home/jens/Source/shotwell/src/Commands.vala" _tmp57_ = self->priv->to_path_parent_path; #line 1837 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp57_ == NULL) { #line 16169 "Commands.c" GeeList* _tmp58_; const gchar* _tmp59_; Tag* _tmp60_; Tag* _tmp61_; SourceProxy* _tmp62_; SourceProxy* _tmp63_; #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _tmp58_ = self->priv->dest_before_state; #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _tmp59_ = self->priv->to_path; #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _tmp60_ = tag_for_path (_tmp59_); #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _tmp61_ = _tmp60_; #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _tmp62_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, TYPE_PROXYABLE, Proxyable)); #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _tmp63_ = _tmp62_; #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_COLLECTION, GeeCollection), _tmp63_); #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp63_); #line 1838 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp61_); #line 16194 "Commands.c" } #line 1842 "/home/jens/Source/shotwell/src/Commands.vala" _tmp64_ = from_tag; #line 1842 "/home/jens/Source/shotwell/src/Commands.vala" _tmp65_ = tag_get_hierarchical_children (_tmp64_); #line 1842 "/home/jens/Source/shotwell/src/Commands.vala" from_children = _tmp65_; #line 16202 "Commands.c" { gint i = 0; GeeList* _tmp66_; gint _tmp67_; gint _tmp68_; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp66_ = from_children; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp67_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp68_ = _tmp67_; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp68_ - 1; #line 16216 "Commands.c" { gboolean _tmp69_ = FALSE; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp69_ = TRUE; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 16223 "Commands.c" gint _tmp71_; GeeList* _tmp72_; GeeList* _tmp73_; gint _tmp74_; gpointer _tmp75_; Tag* _tmp76_; SourceProxy* _tmp77_; SourceProxy* _tmp78_; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp69_) { #line 16234 "Commands.c" gint _tmp70_; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp70_ = i; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp70_ - 1; #line 16240 "Commands.c" } #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp69_ = FALSE; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" _tmp71_ = i; #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp71_ >= 0)) { #line 1843 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 16250 "Commands.c" } #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp72_ = self->priv->src_before_state; #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp73_ = from_children; #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp74_ = i; #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp75_ = gee_list_get (_tmp73_, _tmp74_); #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp76_ = (Tag*) _tmp75_; #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp77_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, TYPE_PROXYABLE, Proxyable)); #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _tmp78_ = _tmp77_; #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_COLLECTION, GeeCollection), _tmp78_); #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp78_); #line 1844 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp76_); #line 16272 "Commands.c" } } } #line 1848 "/home/jens/Source/shotwell/src/Commands.vala" _tmp79_ = self->priv->to_path_parent_path; #line 1848 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp79_ != NULL) { #line 16280 "Commands.c" GeeList* to_children = NULL; const gchar* _tmp80_; Tag* _tmp81_; Tag* _tmp82_; GeeList* _tmp83_; GeeList* _tmp84_; #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" _tmp80_ = self->priv->to_path_parent_path; #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" _tmp81_ = tag_for_path (_tmp80_); #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" _tmp82_ = _tmp81_; #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" _tmp83_ = tag_get_hierarchical_children (_tmp82_); #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" _tmp84_ = _tmp83_; #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp82_); #line 1849 "/home/jens/Source/shotwell/src/Commands.vala" to_children = _tmp84_; #line 16301 "Commands.c" { gint i = 0; GeeList* _tmp85_; gint _tmp86_; gint _tmp87_; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp85_ = to_children; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp86_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp87_ = _tmp86_; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp87_ - 1; #line 16315 "Commands.c" { gboolean _tmp88_ = FALSE; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp88_ = TRUE; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 16322 "Commands.c" gint _tmp90_; GeeList* _tmp91_; GeeList* _tmp92_; gint _tmp93_; gpointer _tmp94_; Tag* _tmp95_; SourceProxy* _tmp96_; SourceProxy* _tmp97_; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp88_) { #line 16333 "Commands.c" gint _tmp89_; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp89_ = i; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp89_ - 1; #line 16339 "Commands.c" } #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp88_ = FALSE; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" _tmp90_ = i; #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp90_ >= 0)) { #line 1850 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 16349 "Commands.c" } #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp91_ = self->priv->dest_before_state; #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp92_ = to_children; #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp93_ = i; #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp94_ = gee_list_get (_tmp92_, _tmp93_); #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp95_ = (Tag*) _tmp94_; #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp96_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, TYPE_PROXYABLE, Proxyable)); #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _tmp97_ = _tmp96_; #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, GEE_TYPE_COLLECTION, GeeCollection), _tmp97_); #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp97_); #line 1851 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp95_); #line 16371 "Commands.c" } } } #line 1848 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (to_children); #line 16377 "Commands.c" } #line 1856 "/home/jens/Source/shotwell/src/Commands.vala" _tmp98_ = self->priv->to_path_parent_path; #line 1856 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp98_ == NULL) { #line 16383 "Commands.c" GeeList* to_children = NULL; const gchar* _tmp99_; Tag* _tmp100_; Tag* _tmp101_; GeeList* _tmp102_; GeeList* _tmp103_; #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" _tmp99_ = self->priv->to_path; #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" _tmp100_ = tag_for_path (_tmp99_); #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" _tmp101_ = _tmp100_; #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" _tmp102_ = tag_get_hierarchical_children (_tmp101_); #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" _tmp103_ = _tmp102_; #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp101_); #line 1857 "/home/jens/Source/shotwell/src/Commands.vala" to_children = _tmp103_; #line 16404 "Commands.c" { gint i = 0; GeeList* _tmp104_; gint _tmp105_; gint _tmp106_; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp104_ = to_children; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp105_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp106_ = _tmp105_; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp106_ - 1; #line 16418 "Commands.c" { gboolean _tmp107_ = FALSE; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp107_ = TRUE; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 16425 "Commands.c" gint _tmp109_; GeeList* _tmp110_; GeeList* _tmp111_; gint _tmp112_; gpointer _tmp113_; Tag* _tmp114_; SourceProxy* _tmp115_; SourceProxy* _tmp116_; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp107_) { #line 16436 "Commands.c" gint _tmp108_; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp108_ = i; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp108_ - 1; #line 16442 "Commands.c" } #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp107_ = FALSE; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" _tmp109_ = i; #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp109_ >= 0)) { #line 1858 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 16452 "Commands.c" } #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp110_ = self->priv->dest_before_state; #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp111_ = to_children; #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp112_ = i; #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp113_ = gee_list_get (_tmp111_, _tmp112_); #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp114_ = (Tag*) _tmp113_; #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp115_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, TYPE_PROXYABLE, Proxyable)); #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _tmp116_ = _tmp115_; #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_COLLECTION, GeeCollection), _tmp116_); #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp116_); #line 1859 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp114_); #line 16474 "Commands.c" } } } #line 1856 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (to_children); #line 16480 "Commands.c" } #line 1794 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (from_children); #line 1794 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (parent_paths); #line 1794 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (from_tag); #line 16488 "Commands.c" } static glong string_strnlen (gchar* str, glong maxlen) { glong result = 0L; gchar* end = NULL; gchar* _tmp0_; gchar* _tmp1_; #line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp0_ = memchr (str, 0, (gsize) maxlen); #line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" end = _tmp0_; #line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp1_ = end; #line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (_tmp1_ == NULL) { #line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" result = maxlen; #line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return result; #line 16512 "Commands.c" } else { gchar* _tmp2_; #line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp2_ = end; #line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" result = (glong) (_tmp2_ - str); #line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return result; #line 16521 "Commands.c" } } static gchar* string_substring (const gchar* self, glong offset, glong len) { gchar* result = NULL; glong string_length = 0L; gboolean _tmp0_ = FALSE; glong _tmp6_; gchar* _tmp7_; #line 1347 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail (self != NULL, NULL); #line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (offset >= ((glong) 0)) { #line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp0_ = len >= ((glong) 0); #line 16542 "Commands.c" } else { #line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp0_ = FALSE; #line 16546 "Commands.c" } #line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (_tmp0_) { #line 1351 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" string_length = string_strnlen ((gchar*) self, offset + len); #line 16552 "Commands.c" } else { gint _tmp1_; gint _tmp2_; #line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp1_ = strlen (self); #line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp2_ = _tmp1_; #line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" string_length = (glong) _tmp2_; #line 16562 "Commands.c" } #line 1356 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (offset < ((glong) 0)) { #line 16566 "Commands.c" glong _tmp3_; #line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp3_ = string_length; #line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" offset = _tmp3_ + offset; #line 1358 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail (offset >= ((glong) 0), NULL); #line 16574 "Commands.c" } else { glong _tmp4_; #line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp4_ = string_length; #line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail (offset <= _tmp4_, NULL); #line 16581 "Commands.c" } #line 1362 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" if (len < ((glong) 0)) { #line 16585 "Commands.c" glong _tmp5_; #line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp5_ = string_length; #line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" len = _tmp5_ - offset; #line 16591 "Commands.c" } #line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp6_ = string_length; #line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" g_return_val_if_fail ((offset + len) <= _tmp6_, NULL); #line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" _tmp7_ = g_strndup (((gchar*) self) + offset, (gsize) len); #line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" result = _tmp7_; #line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi" return result; #line 16603 "Commands.c" } static void reparent_tag_command_restore_before_state (ReparentTagCommand* self) { GeeList* _tmp0_; GeeMap* _tmp1_; const gchar* _tmp2_; const gchar* _tmp10_ = NULL; const gchar* _tmp11_; gchar* unwind_target = NULL; gchar* _tmp14_; const gchar* _tmp89_; #line 1863 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1864 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->src_before_state; #line 1864 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "src_before_state != null"); #line 1865 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->existing_dest_child_structure; #line 1865 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp1_ != NULL, "existing_dest_child_structure != null"); #line 1868 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->to_path_parent_path; #line 1868 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 16632 "Commands.c" gchar* new_tpp = NULL; const gchar* _tmp3_; gchar* _tmp4_; const gchar* _tmp5_ = NULL; const gchar* _tmp6_; gchar* _tmp9_; #line 1869 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->to_path_parent_path; #line 1869 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = hierarchical_tag_utilities_get_root_path_form (_tmp3_); #line 1869 "/home/jens/Source/shotwell/src/Commands.vala" new_tpp = _tmp4_; #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = new_tpp; #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp6_ != NULL) { #line 16649 "Commands.c" const gchar* _tmp7_; #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = new_tpp; #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp7_; #line 16655 "Commands.c" } else { const gchar* _tmp8_; #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->to_path_parent_path; #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp8_; #line 16662 "Commands.c" } #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = g_strdup (_tmp5_); #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path_parent_path); #line 1870 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path_parent_path = _tmp9_; #line 1868 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_tpp); #line 16672 "Commands.c" } #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = self->priv->to_path_parent_path; #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp11_ != NULL) { #line 16678 "Commands.c" const gchar* _tmp12_; #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->to_path_parent_path; #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp12_; #line 16684 "Commands.c" } else { const gchar* _tmp13_; #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->priv->to_path; #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp13_; #line 16691 "Commands.c" } #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = g_strdup (_tmp10_); #line 1873 "/home/jens/Source/shotwell/src/Commands.vala" unwind_target = _tmp14_; #line 16697 "Commands.c" { GeeList* _t_list = NULL; const gchar* _tmp15_; Tag* _tmp16_; Tag* _tmp17_; GeeList* _tmp18_; GeeList* _tmp19_; gint _t_size = 0; GeeList* _tmp20_; gint _tmp21_; gint _tmp22_; gint _t_index = 0; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = unwind_target; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = tag_for_path (_tmp15_); #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _tmp16_; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = tag_get_hierarchical_children (_tmp17_); #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _tmp18_; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp17_); #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _t_list = _tmp19_; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _t_list; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _tmp21_; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _t_size = _tmp22_; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _t_index = -1; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 16736 "Commands.c" gint _tmp23_; gint _tmp24_; gint _tmp25_; Tag* t = NULL; GeeList* _tmp26_; gint _tmp27_; gpointer _tmp28_; gchar* child_subpath = NULL; Tag* _tmp29_; gchar* _tmp30_; gchar* _tmp31_; const gchar* _tmp32_; gchar* _tmp33_; gchar* _tmp34_; const gchar* _tmp35_; GeeMap* _tmp38_; const gchar* _tmp39_; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _t_index; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _t_index = _tmp23_ + 1; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _t_index; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _t_size; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp24_ < _tmp25_)) { #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 16766 "Commands.c" } #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = _t_list; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _t_index; #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = gee_list_get (_tmp26_, _tmp27_); #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" t = (Tag*) _tmp28_; #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = t; #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = tag_get_path (_tmp29_); #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = _tmp30_; #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = unwind_target; #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = string_replace (_tmp31_, _tmp32_, ""); #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = _tmp33_; #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp31_); #line 1875 "/home/jens/Source/shotwell/src/Commands.vala" child_subpath = _tmp34_; #line 1876 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = child_subpath; #line 1876 "/home/jens/Source/shotwell/src/Commands.vala" if (g_str_has_prefix (_tmp35_, TAG_PATH_SEPARATOR_STRING)) { #line 16796 "Commands.c" const gchar* _tmp36_; gchar* _tmp37_; #line 1877 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = child_subpath; #line 1877 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = string_substring (_tmp36_, (glong) 1, (glong) -1); #line 1877 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_subpath); #line 1877 "/home/jens/Source/shotwell/src/Commands.vala" child_subpath = _tmp37_; #line 16807 "Commands.c" } #line 1879 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = self->priv->existing_dest_child_structure; #line 1879 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = child_subpath; #line 1879 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_map_has_key (_tmp38_, _tmp39_)) { #line 16815 "Commands.c" TagSourceCollection* _tmp40_; TagSourceCollection* _tmp41_; Tag* _tmp42_; Marker* _tmp43_; Marker* _tmp44_; #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = tag_global; #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = tag_global; #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = t; #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_DATA_OBJECT, DataObject)); #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = _tmp43_; #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp44_, TRUE, NULL, NULL, NULL); #line 1880 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp44_); #line 16835 "Commands.c" } else { GeeSet* starting_sources = NULL; GeeHashSet* _tmp45_; GeeSet* _tmp46_; Tag* _tmp47_; GeeCollection* _tmp48_; GeeCollection* _tmp49_; #line 1882 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 1882 "/home/jens/Source/shotwell/src/Commands.vala" starting_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_SET, GeeSet); #line 1883 "/home/jens/Source/shotwell/src/Commands.vala" _tmp46_ = starting_sources; #line 1883 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = t; #line 1883 "/home/jens/Source/shotwell/src/Commands.vala" _tmp48_ = tag_get_sources (_tmp47_); #line 1883 "/home/jens/Source/shotwell/src/Commands.vala" _tmp49_ = _tmp48_; #line 1883 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection), _tmp49_); #line 1883 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp49_); #line 16859 "Commands.c" { GeeIterator* _source_it = NULL; GeeSet* _tmp50_; GeeIterator* _tmp51_; #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _tmp50_ = starting_sources; #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _tmp51_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp51_; #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 16872 "Commands.c" GeeIterator* _tmp52_; MediaSource* source = NULL; GeeIterator* _tmp53_; gpointer _tmp54_; GeeMap* _tmp55_; const gchar* _tmp56_; gpointer _tmp57_; GeeSet* _tmp58_; MediaSource* _tmp59_; gboolean _tmp60_; #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _tmp52_ = _source_it; #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp52_)) { #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 16889 "Commands.c" } #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _tmp53_ = _source_it; #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _tmp54_ = gee_iterator_get (_tmp53_); #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp54_; #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _tmp55_ = self->priv->existing_dest_child_structure; #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _tmp56_ = child_subpath; #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _tmp57_ = gee_map_get (_tmp55_, _tmp56_); #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _tmp58_ = (GeeSet*) _tmp57_; #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _tmp59_ = source; #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _tmp60_ = !gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_COLLECTION, GeeCollection), _tmp59_); #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp58_); #line 1885 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp60_) { #line 16913 "Commands.c" Tag* _tmp61_; MediaSource* _tmp62_; GeeList* _tmp63_; GeeList* _tmp64_; #line 1886 "/home/jens/Source/shotwell/src/Commands.vala" _tmp61_ = t; #line 1886 "/home/jens/Source/shotwell/src/Commands.vala" _tmp62_ = source; #line 1886 "/home/jens/Source/shotwell/src/Commands.vala" _tmp63_ = tag_detach (_tmp61_, _tmp62_); #line 1886 "/home/jens/Source/shotwell/src/Commands.vala" _tmp64_ = _tmp63_; #line 1886 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp64_); #line 16928 "Commands.c" } #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 16932 "Commands.c" } #line 1884 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 16936 "Commands.c" } #line 1879 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (starting_sources); #line 16940 "Commands.c" } #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_subpath); #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (t); #line 16946 "Commands.c" } #line 1874 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_t_list); #line 16950 "Commands.c" } { gint i = 0; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" i = 0; #line 16956 "Commands.c" { gboolean _tmp65_ = FALSE; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp65_ = TRUE; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 16963 "Commands.c" gint _tmp67_; GeeList* _tmp68_; gint _tmp69_; gint _tmp70_; GeeList* _tmp71_; gint _tmp72_; gpointer _tmp73_; SourceProxy* _tmp74_; DataSource* _tmp75_; DataSource* _tmp76_; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp65_) { #line 16976 "Commands.c" gint _tmp66_; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp66_ = i; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp66_ + 1; #line 16982 "Commands.c" } #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp65_ = FALSE; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp67_ = i; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp68_ = self->priv->src_before_state; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp69_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" _tmp70_ = _tmp69_; #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp67_ < _tmp70_)) { #line 1890 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 16998 "Commands.c" } #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _tmp71_ = self->priv->src_before_state; #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _tmp72_ = i; #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _tmp73_ = gee_list_get (_tmp71_, _tmp72_); #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _tmp74_ = (SourceProxy*) _tmp73_; #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _tmp75_ = source_proxy_get_source (_tmp74_); #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _tmp76_ = _tmp75_; #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp76_); #line 1891 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp74_); #line 17016 "Commands.c" } } } { gint i = 0; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" i = 0; #line 17024 "Commands.c" { gboolean _tmp77_ = FALSE; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp77_ = TRUE; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17031 "Commands.c" gint _tmp79_; GeeList* _tmp80_; gint _tmp81_; gint _tmp82_; GeeList* _tmp83_; gint _tmp84_; gpointer _tmp85_; SourceProxy* _tmp86_; DataSource* _tmp87_; DataSource* _tmp88_; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp77_) { #line 17044 "Commands.c" gint _tmp78_; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp78_ = i; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp78_ + 1; #line 17050 "Commands.c" } #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp77_ = FALSE; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp79_ = i; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp80_ = self->priv->dest_before_state; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp81_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" _tmp82_ = _tmp81_; #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp79_ < _tmp82_)) { #line 1893 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17066 "Commands.c" } #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _tmp83_ = self->priv->dest_before_state; #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _tmp84_ = i; #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _tmp85_ = gee_list_get (_tmp83_, _tmp84_); #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _tmp86_ = (SourceProxy*) _tmp85_; #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _tmp87_ = source_proxy_get_source (_tmp86_); #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _tmp88_ = _tmp87_; #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp88_); #line 1894 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp86_); #line 17084 "Commands.c" } } } #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" _tmp89_ = self->priv->to_path_parent_path; #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp89_ != NULL) { #line 17092 "Commands.c" gchar* new_path = NULL; const gchar* _tmp90_; gchar* _tmp91_; const gchar* _tmp92_ = NULL; const gchar* _tmp93_; gchar* path = NULL; gchar* _tmp96_; TagSourceCollection* _tmp97_; const gchar* _tmp98_; Tag* t = NULL; const gchar* _tmp99_; Tag* _tmp100_; GeeList* kids = NULL; Tag* _tmp101_; GeeList* _tmp102_; const gchar* _tmp120_; GeeMap* _tmp121_; #line 1897 "/home/jens/Source/shotwell/src/Commands.vala" _tmp90_ = self->priv->to_path_parent_path; #line 1897 "/home/jens/Source/shotwell/src/Commands.vala" _tmp91_ = hierarchical_tag_utilities_get_root_path_form (_tmp90_); #line 1897 "/home/jens/Source/shotwell/src/Commands.vala" new_path = _tmp91_; #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp93_ = new_path; #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp93_ != NULL) { #line 17120 "Commands.c" const gchar* _tmp94_; #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp94_ = new_path; #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp92_ = _tmp94_; #line 17126 "Commands.c" } else { const gchar* _tmp95_; #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp95_ = self->priv->to_path_parent_path; #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp92_ = _tmp95_; #line 17133 "Commands.c" } #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" _tmp96_ = g_strdup (_tmp92_); #line 1898 "/home/jens/Source/shotwell/src/Commands.vala" path = _tmp96_; #line 1900 "/home/jens/Source/shotwell/src/Commands.vala" _tmp97_ = tag_global; #line 1900 "/home/jens/Source/shotwell/src/Commands.vala" _tmp98_ = path; #line 1900 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp97_, _tmp98_, FALSE), "Tag.global.exists(path)"); #line 1902 "/home/jens/Source/shotwell/src/Commands.vala" _tmp99_ = path; #line 1902 "/home/jens/Source/shotwell/src/Commands.vala" _tmp100_ = tag_for_path (_tmp99_); #line 1902 "/home/jens/Source/shotwell/src/Commands.vala" t = _tmp100_; #line 1904 "/home/jens/Source/shotwell/src/Commands.vala" _tmp101_ = t; #line 1904 "/home/jens/Source/shotwell/src/Commands.vala" _tmp102_ = tag_get_hierarchical_children (_tmp101_); #line 1904 "/home/jens/Source/shotwell/src/Commands.vala" kids = _tmp102_; #line 17157 "Commands.c" { GeeList* _kidtag_list = NULL; GeeList* _tmp103_; GeeList* _tmp104_; gint _kidtag_size = 0; GeeList* _tmp105_; gint _tmp106_; gint _tmp107_; gint _kidtag_index = 0; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp103_ = kids; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp104_ = _g_object_ref0 (_tmp103_); #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_list = _tmp104_; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp105_ = _kidtag_list; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp106_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp107_ = _tmp106_; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_size = _tmp107_; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_index = -1; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17185 "Commands.c" gint _tmp108_; gint _tmp109_; gint _tmp110_; Tag* kidtag = NULL; GeeList* _tmp111_; gint _tmp112_; gpointer _tmp113_; Tag* _tmp114_; Tag* _tmp115_; GeeCollection* _tmp116_; GeeCollection* _tmp117_; GeeMultiMap* _tmp118_; GeeMultiMap* _tmp119_; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp108_ = _kidtag_index; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_index = _tmp108_ + 1; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp109_ = _kidtag_index; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp110_ = _kidtag_size; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp109_ < _tmp110_)) { #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17211 "Commands.c" } #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp111_ = _kidtag_list; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp112_ = _kidtag_index; #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _tmp113_ = gee_list_get (_tmp111_, _tmp112_); #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" kidtag = (Tag*) _tmp113_; #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _tmp114_ = kidtag; #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _tmp115_ = kidtag; #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _tmp116_ = tag_get_sources (_tmp115_); #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _tmp117_ = _tmp116_; #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _tmp118_ = tag_detach_many (_tmp114_, _tmp117_); #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _tmp119_ = _tmp118_; #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp119_); #line 1906 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp117_); #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (kidtag); #line 17239 "Commands.c" } #line 1905 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_kidtag_list); #line 17243 "Commands.c" } #line 1908 "/home/jens/Source/shotwell/src/Commands.vala" _tmp120_ = path; #line 1908 "/home/jens/Source/shotwell/src/Commands.vala" _tmp121_ = self->priv->existing_dest_child_structure; #line 1908 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_restore_child_attachments_at (self, _tmp120_, _tmp121_); #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (kids); #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (t); #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_path); #line 17259 "Commands.c" } else { GeeSet* _tmp122_; const gchar* _tmp123_; Tag* _tmp124_; Tag* _tmp125_; const gchar* _tmp126_; Tag* _tmp127_; Tag* _tmp128_; GeeCollection* _tmp129_; GeeCollection* _tmp130_; GeeMultiMap* _tmp131_; GeeMultiMap* _tmp132_; const gchar* _tmp133_; Tag* _tmp134_; Tag* _tmp135_; GeeSet* _tmp136_; GeeList* kids = NULL; const gchar* _tmp137_; Tag* _tmp138_; Tag* _tmp139_; GeeList* _tmp140_; GeeList* _tmp141_; const gchar* _tmp159_; GeeMap* _tmp160_; #line 1910 "/home/jens/Source/shotwell/src/Commands.vala" _tmp122_ = self->priv->existing_dest_membership; #line 1910 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp122_ != NULL, "existing_dest_membership != null"); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp123_ = self->priv->to_path; #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp124_ = tag_for_path (_tmp123_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp125_ = _tmp124_; #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp126_ = self->priv->to_path; #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp127_ = tag_for_path (_tmp126_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp128_ = _tmp127_; #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp129_ = tag_get_sources (_tmp128_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp130_ = _tmp129_; #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp131_ = tag_detach_many (_tmp125_, _tmp130_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _tmp132_ = _tmp131_; #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp132_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp130_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp128_); #line 1911 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp125_); #line 1912 "/home/jens/Source/shotwell/src/Commands.vala" _tmp133_ = self->priv->to_path; #line 1912 "/home/jens/Source/shotwell/src/Commands.vala" _tmp134_ = tag_for_path (_tmp133_); #line 1912 "/home/jens/Source/shotwell/src/Commands.vala" _tmp135_ = _tmp134_; #line 1912 "/home/jens/Source/shotwell/src/Commands.vala" _tmp136_ = self->priv->existing_dest_membership; #line 1912 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach_many (_tmp135_, G_TYPE_CHECK_INSTANCE_CAST (_tmp136_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1912 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp135_); #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" _tmp137_ = self->priv->to_path; #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" _tmp138_ = tag_for_path (_tmp137_); #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" _tmp139_ = _tmp138_; #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" _tmp140_ = tag_get_hierarchical_children (_tmp139_); #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" _tmp141_ = _tmp140_; #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp139_); #line 1914 "/home/jens/Source/shotwell/src/Commands.vala" kids = _tmp141_; #line 17342 "Commands.c" { GeeList* _kidtag_list = NULL; GeeList* _tmp142_; GeeList* _tmp143_; gint _kidtag_size = 0; GeeList* _tmp144_; gint _tmp145_; gint _tmp146_; gint _kidtag_index = 0; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp142_ = kids; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp143_ = _g_object_ref0 (_tmp142_); #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_list = _tmp143_; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp144_ = _kidtag_list; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp145_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp144_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp146_ = _tmp145_; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_size = _tmp146_; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_index = -1; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17370 "Commands.c" gint _tmp147_; gint _tmp148_; gint _tmp149_; Tag* kidtag = NULL; GeeList* _tmp150_; gint _tmp151_; gpointer _tmp152_; Tag* _tmp153_; Tag* _tmp154_; GeeCollection* _tmp155_; GeeCollection* _tmp156_; GeeMultiMap* _tmp157_; GeeMultiMap* _tmp158_; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp147_ = _kidtag_index; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _kidtag_index = _tmp147_ + 1; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp148_ = _kidtag_index; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp149_ = _kidtag_size; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp148_ < _tmp149_)) { #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17396 "Commands.c" } #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp150_ = _kidtag_list; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp151_ = _kidtag_index; #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _tmp152_ = gee_list_get (_tmp150_, _tmp151_); #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" kidtag = (Tag*) _tmp152_; #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp153_ = kidtag; #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp154_ = kidtag; #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp155_ = tag_get_sources (_tmp154_); #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp156_ = _tmp155_; #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp157_ = tag_detach_many (_tmp153_, _tmp156_); #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _tmp158_ = _tmp157_; #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp158_); #line 1916 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp156_); #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (kidtag); #line 17424 "Commands.c" } #line 1915 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_kidtag_list); #line 17428 "Commands.c" } #line 1918 "/home/jens/Source/shotwell/src/Commands.vala" _tmp159_ = self->priv->to_path; #line 1918 "/home/jens/Source/shotwell/src/Commands.vala" _tmp160_ = self->priv->existing_dest_child_structure; #line 1918 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_restore_child_attachments_at (self, _tmp159_, _tmp160_); #line 1896 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (kids); #line 17438 "Commands.c" } #line 1863 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (unwind_target); #line 17442 "Commands.c" } static void reparent_tag_command_save_after_state (ReparentTagCommand* self) { GeeList* _tmp0_; GeeArrayList* _tmp1_; TagSourceCollection* _tmp2_; const gchar* _tmp3_; Tag* to_tag = NULL; const gchar* _tmp4_; Tag* _tmp5_; GeeList* _tmp6_; Tag* _tmp7_; SourceProxy* _tmp8_; SourceProxy* _tmp9_; GeeList* to_children = NULL; Tag* _tmp10_; GeeList* _tmp11_; #line 1922 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1923 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->after_state; #line 1923 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ == NULL, "after_state == null"); #line 1925 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL); #line 1925 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->after_state); #line 1925 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->after_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList); #line 1928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = tag_global; #line 1928 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->to_path; #line 1928 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp2_, _tmp3_, FALSE), "Tag.global.exists(to_path)"); #line 1929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->to_path; #line 1929 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = tag_for_path (_tmp4_); #line 1929 "/home/jens/Source/shotwell/src/Commands.vala" to_tag = _tmp5_; #line 1930 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->after_state; #line 1930 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = to_tag; #line 1930 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PROXYABLE, Proxyable)); #line 1930 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _tmp8_; #line 1930 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), _tmp9_); #line 1930 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp9_); #line 1933 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = to_tag; #line 1933 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = tag_get_hierarchical_children (_tmp10_); #line 1933 "/home/jens/Source/shotwell/src/Commands.vala" to_children = _tmp11_; #line 17505 "Commands.c" { gint i = 0; GeeList* _tmp12_; gint _tmp13_; gint _tmp14_; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = to_children; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _tmp13_; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp14_ - 1; #line 17519 "Commands.c" { gboolean _tmp15_ = FALSE; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = TRUE; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17526 "Commands.c" gint _tmp17_; GeeList* _tmp18_; GeeList* _tmp19_; gint _tmp20_; gpointer _tmp21_; Tag* _tmp22_; SourceProxy* _tmp23_; SourceProxy* _tmp24_; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp15_) { #line 17537 "Commands.c" gint _tmp16_; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = i; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp16_ - 1; #line 17543 "Commands.c" } #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = FALSE; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = i; #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp17_ >= 0)) { #line 1934 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17553 "Commands.c" } #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = self->priv->after_state; #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = to_children; #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = i; #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_list_get (_tmp19_, _tmp20_); #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = (Tag*) _tmp21_; #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PROXYABLE, Proxyable)); #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _tmp23_; #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp24_); #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp24_); #line 1935 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp22_); #line 17575 "Commands.c" } } } #line 1922 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (to_children); #line 1922 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (to_tag); #line 17583 "Commands.c" } static void reparent_tag_command_restore_after_state (ReparentTagCommand* self) { GeeList* _tmp0_; #line 1938 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1939 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->after_state; #line 1939 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "after_state != null"); #line 17597 "Commands.c" { gint i = 0; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" i = 0; #line 17602 "Commands.c" { gboolean _tmp1_ = FALSE; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = TRUE; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17609 "Commands.c" gint _tmp3_; GeeList* _tmp4_; gint _tmp5_; gint _tmp6_; GeeList* _tmp7_; gint _tmp8_; gpointer _tmp9_; SourceProxy* _tmp10_; DataSource* _tmp11_; DataSource* _tmp12_; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp1_) { #line 17622 "Commands.c" gint _tmp2_; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = i; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp2_ + 1; #line 17628 "Commands.c" } #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = FALSE; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = i; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->after_state; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp3_ < _tmp6_)) { #line 1941 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17644 "Commands.c" } #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->after_state; #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = i; #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_list_get (_tmp7_, _tmp8_); #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = (SourceProxy*) _tmp9_; #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = source_proxy_get_source (_tmp10_); #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _tmp11_; #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp12_); #line 1942 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (_tmp10_); #line 17662 "Commands.c" } } } } static void reparent_tag_command_prepare_parent (ReparentTagCommand* self, const gchar* path) { Tag* new_parent = NULL; Tag* _tmp22_; #line 1945 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1945 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (path != NULL); #line 1947 "/home/jens/Source/shotwell/src/Commands.vala" new_parent = NULL; #line 1948 "/home/jens/Source/shotwell/src/Commands.vala" if (g_str_has_prefix (path, TAG_PATH_SEPARATOR_STRING)) { #line 17683 "Commands.c" GeeList* parent_paths = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _tmp2_; gint _tmp3_; #line 1949 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = hierarchical_tag_utilities_enumerate_parent_paths (path); #line 1949 "/home/jens/Source/shotwell/src/Commands.vala" parent_paths = _tmp0_; #line 1950 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = parent_paths; #line 1950 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1950 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 1950 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ > 0) { #line 17701 "Commands.c" gchar* immediate_parent_path = NULL; GeeList* _tmp4_; GeeList* _tmp5_; gint _tmp6_; gint _tmp7_; gpointer _tmp8_; TagSourceCollection* _tmp9_; const gchar* _tmp10_; #line 1951 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = parent_paths; #line 1951 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = parent_paths; #line 1951 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1951 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 1951 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = gee_list_get (_tmp4_, _tmp7_ - 1); #line 1951 "/home/jens/Source/shotwell/src/Commands.vala" immediate_parent_path = (gchar*) _tmp8_; #line 1952 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = tag_global; #line 1952 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = immediate_parent_path; #line 1952 "/home/jens/Source/shotwell/src/Commands.vala" if (tag_source_collection_exists (_tmp9_, _tmp10_, FALSE)) { #line 17728 "Commands.c" const gchar* _tmp11_; Tag* _tmp12_; #line 1953 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = immediate_parent_path; #line 1953 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = tag_for_path (_tmp11_); #line 1953 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (new_parent); #line 1953 "/home/jens/Source/shotwell/src/Commands.vala" new_parent = _tmp12_; #line 17739 "Commands.c" } else { TagSourceCollection* _tmp13_; const gchar* _tmp14_; gchar* _tmp15_; gchar* _tmp16_; gboolean _tmp17_; #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = tag_global; #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = immediate_parent_path; #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = string_substring (_tmp14_, (glong) 1, (glong) -1); #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _tmp15_; #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = tag_source_collection_exists (_tmp13_, _tmp16_, FALSE); #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp16_); #line 1954 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp17_) { #line 17760 "Commands.c" const gchar* _tmp18_; gchar* _tmp19_; gchar* _tmp20_; Tag* _tmp21_; #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = immediate_parent_path; #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = string_substring (_tmp18_, (glong) 1, (glong) -1); #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _tmp19_; #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = tag_for_path (_tmp20_); #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (new_parent); #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" new_parent = _tmp21_; #line 1955 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp20_); #line 17779 "Commands.c" } else { #line 1957 "/home/jens/Source/shotwell/src/Commands.vala" g_assert_not_reached (); #line 17783 "Commands.c" } } #line 1950 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (immediate_parent_path); #line 17788 "Commands.c" } #line 1948 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (parent_paths); #line 17792 "Commands.c" } #line 1960 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = new_parent; #line 1960 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp22_ != NULL) { #line 17798 "Commands.c" Tag* _tmp23_; #line 1961 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = new_parent; #line 1961 "/home/jens/Source/shotwell/src/Commands.vala" tag_promote (_tmp23_); #line 17804 "Commands.c" } #line 1945 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (new_parent); #line 17808 "Commands.c" } static void reparent_tag_command_do_source_parent_detachments (ReparentTagCommand* self) { TagSourceCollection* _tmp0_; const gchar* _tmp1_; Tag* from_tag = NULL; const gchar* _tmp2_; Tag* _tmp3_; GeeMap* _tmp4_; #line 1964 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 1965 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_global; #line 1965 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->from_path; #line 1965 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp0_, _tmp1_, FALSE), "Tag.global.exists(from_path)"); #line 1966 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->from_path; #line 1966 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = tag_for_path (_tmp2_); #line 1966 "/home/jens/Source/shotwell/src/Commands.vala" from_tag = _tmp3_; #line 1969 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->src_parent_detachments; #line 1969 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp4_ == NULL) { #line 17839 "Commands.c" GeeHashMap* _tmp5_; #line 1970 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 1970 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->src_parent_detachments); #line 1970 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->src_parent_detachments = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MAP, GeeMap); #line 17847 "Commands.c" { GeeIterator* _source_it = NULL; Tag* _tmp6_; GeeCollection* _tmp7_; GeeCollection* _tmp8_; GeeIterator* _tmp9_; GeeIterator* _tmp10_; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = from_tag; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = tag_get_sources (_tmp6_); #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp8_); #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp10_; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17871 "Commands.c" GeeIterator* _tmp11_; MediaSource* source = NULL; GeeIterator* _tmp12_; gpointer _tmp13_; Tag* current_parent = NULL; Tag* _tmp14_; Tag* _tmp15_; gint running_attach_count = 0; Tag* _tmp16_; MediaSource* _tmp17_; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _source_it; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp11_)) { #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17888 "Commands.c" } #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _source_it; #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_iterator_get (_tmp12_); #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp13_; #line 1972 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = from_tag; #line 1972 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = tag_get_hierarchical_parent (_tmp14_); #line 1972 "/home/jens/Source/shotwell/src/Commands.vala" current_parent = _tmp15_; #line 1973 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = from_tag; #line 1973 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = source; #line 1973 "/home/jens/Source/shotwell/src/Commands.vala" running_attach_count = tag_get_attachment_count (_tmp16_, _tmp17_) + 1; #line 1974 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 17910 "Commands.c" Tag* _tmp18_; gchar* current_parent_path = NULL; Tag* _tmp19_; gchar* _tmp20_; GeeMap* _tmp21_; const gchar* _tmp22_; gint curr_parent_attach_count = 0; Tag* _tmp27_; MediaSource* _tmp28_; gint _tmp29_; gint _tmp30_; gint _tmp31_; gint _tmp32_; gint _tmp38_; Tag* _tmp39_; Tag* _tmp40_; #line 1974 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = current_parent; #line 1974 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp18_ != NULL)) { #line 1974 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 17933 "Commands.c" } #line 1975 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = current_parent; #line 1975 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = tag_get_path (_tmp19_); #line 1975 "/home/jens/Source/shotwell/src/Commands.vala" current_parent_path = _tmp20_; #line 1976 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = self->priv->src_parent_detachments; #line 1976 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = current_parent_path; #line 1976 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_map_has_key (_tmp21_, _tmp22_)) { #line 17947 "Commands.c" GeeMap* _tmp23_; const gchar* _tmp24_; GeeHashSet* _tmp25_; GeeHashSet* _tmp26_; #line 1977 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = self->priv->src_parent_detachments; #line 1977 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = current_parent_path; #line 1977 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 1977 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = _tmp25_; #line 1977 "/home/jens/Source/shotwell/src/Commands.vala" gee_map_set (_tmp23_, _tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_SET, GeeSet)); #line 1977 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp26_); #line 17964 "Commands.c" } #line 1979 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = current_parent; #line 1979 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = source; #line 1979 "/home/jens/Source/shotwell/src/Commands.vala" curr_parent_attach_count = tag_get_attachment_count (_tmp27_, _tmp28_); #line 1981 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = curr_parent_attach_count; #line 1981 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = running_attach_count; #line 1981 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp29_ >= _tmp30_, "curr_parent_attach_count >= running_attach_count"); #line 1985 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = curr_parent_attach_count; #line 1985 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = running_attach_count; #line 1985 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp31_ == _tmp32_) { #line 17984 "Commands.c" GeeMap* _tmp33_; const gchar* _tmp34_; gpointer _tmp35_; GeeSet* _tmp36_; MediaSource* _tmp37_; #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = self->priv->src_parent_detachments; #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = current_parent_path; #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = gee_map_get (_tmp33_, _tmp34_); #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = (GeeSet*) _tmp35_; #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = source; #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); #line 1986 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp36_); #line 18004 "Commands.c" } #line 1988 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = running_attach_count; #line 1988 "/home/jens/Source/shotwell/src/Commands.vala" running_attach_count = _tmp38_ + 1; #line 1989 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = current_parent; #line 1989 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = tag_get_hierarchical_parent (_tmp39_); #line 1989 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_parent); #line 1989 "/home/jens/Source/shotwell/src/Commands.vala" current_parent = _tmp40_; #line 1974 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (current_parent_path); #line 18020 "Commands.c" } #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_parent); #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 18026 "Commands.c" } #line 1971 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 18030 "Commands.c" } } { GeeIterator* _p_it = NULL; GeeMap* _tmp41_; GeeSet* _tmp42_; GeeSet* _tmp43_; GeeSet* _tmp44_; GeeIterator* _tmp45_; GeeIterator* _tmp46_; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = self->priv->src_parent_detachments; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = gee_map_get_keys (_tmp41_); #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = _tmp42_; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = _tmp43_; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp46_ = _tmp45_; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp44_); #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _p_it = _tmp46_; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18059 "Commands.c" GeeIterator* _tmp47_; gchar* p = NULL; GeeIterator* _tmp48_; gpointer _tmp49_; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = _p_it; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp47_)) { #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18070 "Commands.c" } #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp48_ = _p_it; #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _tmp49_ = gee_iterator_get (_tmp48_); #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" p = (gchar*) _tmp49_; #line 18078 "Commands.c" { GeeIterator* _s_it = NULL; GeeMap* _tmp50_; const gchar* _tmp51_; gpointer _tmp52_; GeeSet* _tmp53_; GeeIterator* _tmp54_; GeeIterator* _tmp55_; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp50_ = self->priv->src_parent_detachments; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp51_ = p; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp52_ = gee_map_get (_tmp50_, _tmp51_); #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp53_ = (GeeSet*) _tmp52_; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp54_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp55_ = _tmp54_; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp53_); #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _s_it = _tmp55_; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18105 "Commands.c" GeeIterator* _tmp56_; MediaSource* s = NULL; GeeIterator* _tmp57_; gpointer _tmp58_; const gchar* _tmp59_; Tag* _tmp60_; Tag* _tmp61_; MediaSource* _tmp62_; GeeList* _tmp63_; GeeList* _tmp64_; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp56_ = _s_it; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp56_)) { #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18122 "Commands.c" } #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp57_ = _s_it; #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _tmp58_ = gee_iterator_get (_tmp57_); #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" s = (MediaSource*) _tmp58_; #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp59_ = p; #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp60_ = tag_for_path (_tmp59_); #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp61_ = _tmp60_; #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp62_ = s; #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp63_ = tag_detach (_tmp61_, _tmp62_); #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _tmp64_ = _tmp63_; #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp64_); #line 1997 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp61_); #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (s); #line 18148 "Commands.c" } #line 1996 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_s_it); #line 18152 "Commands.c" } #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (p); #line 18156 "Commands.c" } #line 1995 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_p_it); #line 18160 "Commands.c" } #line 1964 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (from_tag); #line 18164 "Commands.c" } static void reparent_tag_command_do_source_parent_reattachments (ReparentTagCommand* self) { GeeMap* _tmp0_; #line 2000 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 2001 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->src_parent_detachments; #line 2001 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "src_parent_detachments != null"); #line 18178 "Commands.c" { GeeIterator* _p_it = NULL; GeeMap* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeSet* _tmp4_; GeeIterator* _tmp5_; GeeIterator* _tmp6_; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->src_parent_detachments; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_map_get_keys (_tmp1_); #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _p_it = _tmp6_; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18205 "Commands.c" GeeIterator* _tmp7_; gchar* p = NULL; GeeIterator* _tmp8_; gpointer _tmp9_; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _p_it; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp7_)) { #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18216 "Commands.c" } #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _p_it; #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" p = (gchar*) _tmp9_; #line 18224 "Commands.c" { GeeIterator* _s_it = NULL; GeeMap* _tmp10_; const gchar* _tmp11_; gpointer _tmp12_; GeeSet* _tmp13_; GeeIterator* _tmp14_; GeeIterator* _tmp15_; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = self->priv->src_parent_detachments; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = p; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = gee_map_get (_tmp10_, _tmp11_); #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = (GeeSet*) _tmp12_; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _tmp14_; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp13_); #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _s_it = _tmp15_; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18251 "Commands.c" GeeIterator* _tmp16_; MediaSource* s = NULL; GeeIterator* _tmp17_; gpointer _tmp18_; const gchar* _tmp19_; Tag* _tmp20_; Tag* _tmp21_; MediaSource* _tmp22_; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _s_it; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp16_)) { #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18266 "Commands.c" } #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _s_it; #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = gee_iterator_get (_tmp17_); #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" s = (MediaSource*) _tmp18_; #line 2005 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = p; #line 2005 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = tag_for_path (_tmp19_); #line 2005 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 2005 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = s; #line 2005 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp21_, _tmp22_); #line 2005 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp21_); #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (s); #line 18288 "Commands.c" } #line 2004 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_s_it); #line 18292 "Commands.c" } #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (p); #line 18296 "Commands.c" } #line 2003 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_p_it); #line 18300 "Commands.c" } } static void reparent_tag_command_do_destination_parent_detachments (ReparentTagCommand* self) { GeeMap* _tmp0_; #line 2008 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 2009 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->dest_parent_attachments; #line 2009 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "dest_parent_attachments != null"); #line 18315 "Commands.c" { GeeIterator* _p_it = NULL; GeeMap* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeSet* _tmp4_; GeeIterator* _tmp5_; GeeIterator* _tmp6_; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->dest_parent_attachments; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_map_get_keys (_tmp1_); #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _p_it = _tmp6_; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18342 "Commands.c" GeeIterator* _tmp7_; gchar* p = NULL; GeeIterator* _tmp8_; gpointer _tmp9_; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _p_it; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp7_)) { #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18353 "Commands.c" } #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _p_it; #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" p = (gchar*) _tmp9_; #line 18361 "Commands.c" { GeeIterator* _s_it = NULL; GeeMap* _tmp10_; const gchar* _tmp11_; gpointer _tmp12_; GeeSet* _tmp13_; GeeIterator* _tmp14_; GeeIterator* _tmp15_; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = self->priv->dest_parent_attachments; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = p; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = gee_map_get (_tmp10_, _tmp11_); #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = (GeeSet*) _tmp12_; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _tmp14_; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp13_); #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _s_it = _tmp15_; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18388 "Commands.c" GeeIterator* _tmp16_; MediaSource* s = NULL; GeeIterator* _tmp17_; gpointer _tmp18_; const gchar* _tmp19_; Tag* _tmp20_; Tag* _tmp21_; MediaSource* _tmp22_; GeeList* _tmp23_; GeeList* _tmp24_; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _s_it; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp16_)) { #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18405 "Commands.c" } #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _s_it; #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = gee_iterator_get (_tmp17_); #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" s = (MediaSource*) _tmp18_; #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = p; #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = tag_for_path (_tmp19_); #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = s; #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = tag_detach (_tmp21_, _tmp22_); #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _tmp23_; #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp24_); #line 2013 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp21_); #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (s); #line 18431 "Commands.c" } #line 2012 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_s_it); #line 18435 "Commands.c" } #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (p); #line 18439 "Commands.c" } #line 2011 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_p_it); #line 18443 "Commands.c" } } static void reparent_tag_command_do_destination_parent_reattachments (ReparentTagCommand* self) { GeeMap* _tmp0_; #line 2016 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 2017 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->dest_parent_attachments; #line 2017 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "dest_parent_attachments != null"); #line 18458 "Commands.c" { GeeIterator* _p_it = NULL; GeeMap* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeSet* _tmp4_; GeeIterator* _tmp5_; GeeIterator* _tmp6_; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->dest_parent_attachments; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_map_get_keys (_tmp1_); #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp4_); #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _p_it = _tmp6_; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18485 "Commands.c" GeeIterator* _tmp7_; gchar* p = NULL; GeeIterator* _tmp8_; gpointer _tmp9_; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _p_it; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp7_)) { #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18496 "Commands.c" } #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _p_it; #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" p = (gchar*) _tmp9_; #line 18504 "Commands.c" { GeeIterator* _s_it = NULL; GeeMap* _tmp10_; const gchar* _tmp11_; gpointer _tmp12_; GeeSet* _tmp13_; GeeIterator* _tmp14_; GeeIterator* _tmp15_; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = self->priv->dest_parent_attachments; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = p; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = gee_map_get (_tmp10_, _tmp11_); #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = (GeeSet*) _tmp12_; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _tmp14_; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp13_); #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _s_it = _tmp15_; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18531 "Commands.c" GeeIterator* _tmp16_; MediaSource* s = NULL; GeeIterator* _tmp17_; gpointer _tmp18_; const gchar* _tmp19_; Tag* _tmp20_; Tag* _tmp21_; MediaSource* _tmp22_; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _s_it; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp16_)) { #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18546 "Commands.c" } #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _s_it; #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = gee_iterator_get (_tmp17_); #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" s = (MediaSource*) _tmp18_; #line 2021 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = p; #line 2021 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = tag_for_path (_tmp19_); #line 2021 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 2021 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = s; #line 2021 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp21_, _tmp22_); #line 2021 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp21_); #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (s); #line 18568 "Commands.c" } #line 2020 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_s_it); #line 18572 "Commands.c" } #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (p); #line 18576 "Commands.c" } #line 2019 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_p_it); #line 18580 "Commands.c" } } static void reparent_tag_command_copy_subtree (ReparentTagCommand* self, const gchar* from, const gchar* to) { TagSourceCollection* _tmp0_; Tag* from_tag = NULL; Tag* _tmp1_; Tag* to_tag = NULL; Tag* _tmp2_; GeeHashMap* _tmp3_; GeeList* from_children = NULL; Tag* _tmp42_; GeeList* _tmp43_; #line 2024 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 2024 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (from != NULL); #line 2024 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (to != NULL); #line 2025 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = tag_global; #line 2025 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp0_, from, FALSE), "Tag.global.exists(from)"); #line 2026 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_for_path (from); #line 2026 "/home/jens/Source/shotwell/src/Commands.vala" from_tag = _tmp1_; #line 2029 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = tag_for_path (to); #line 2029 "/home/jens/Source/shotwell/src/Commands.vala" to_tag = _tmp2_; #line 2033 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 2033 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dest_parent_attachments); #line 2033 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->dest_parent_attachments = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MAP, GeeMap); #line 18623 "Commands.c" { GeeIterator* _source_it = NULL; Tag* _tmp4_; GeeCollection* _tmp5_; GeeCollection* _tmp6_; GeeIterator* _tmp7_; GeeIterator* _tmp8_; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = from_tag; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = tag_get_sources (_tmp4_); #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tmp5_; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp6_); #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp8_; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18647 "Commands.c" GeeIterator* _tmp9_; MediaSource* source = NULL; GeeIterator* _tmp10_; gpointer _tmp11_; Tag* current_parent = NULL; Tag* _tmp12_; Tag* _tmp13_; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _source_it; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp9_)) { #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18661 "Commands.c" } #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _source_it; #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = gee_iterator_get (_tmp10_); #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp11_; #line 2035 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = to_tag; #line 2035 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = tag_get_hierarchical_parent (_tmp12_); #line 2035 "/home/jens/Source/shotwell/src/Commands.vala" current_parent = _tmp13_; #line 2036 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18677 "Commands.c" Tag* _tmp14_; gchar* current_parent_path = NULL; Tag* _tmp15_; gchar* _tmp16_; GeeMap* _tmp17_; const gchar* _tmp18_; Tag* _tmp23_; MediaSource* _tmp24_; Tag* _tmp30_; Tag* _tmp31_; #line 2036 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = current_parent; #line 2036 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp14_ != NULL)) { #line 2036 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18694 "Commands.c" } #line 2037 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = current_parent; #line 2037 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = tag_get_path (_tmp15_); #line 2037 "/home/jens/Source/shotwell/src/Commands.vala" current_parent_path = _tmp16_; #line 2038 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = self->priv->dest_parent_attachments; #line 2038 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = current_parent_path; #line 2038 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_map_has_key (_tmp17_, _tmp18_)) { #line 18708 "Commands.c" GeeMap* _tmp19_; const gchar* _tmp20_; GeeHashSet* _tmp21_; GeeHashSet* _tmp22_; #line 2039 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = self->priv->dest_parent_attachments; #line 2039 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = current_parent_path; #line 2039 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 2039 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _tmp21_; #line 2039 "/home/jens/Source/shotwell/src/Commands.vala" gee_map_set (_tmp19_, _tmp20_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_SET, GeeSet)); #line 2039 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp22_); #line 18725 "Commands.c" } #line 2041 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = current_parent; #line 2041 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = source; #line 2041 "/home/jens/Source/shotwell/src/Commands.vala" if (!tag_contains (_tmp23_, _tmp24_)) { #line 18733 "Commands.c" GeeMap* _tmp25_; const gchar* _tmp26_; gpointer _tmp27_; GeeSet* _tmp28_; MediaSource* _tmp29_; #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = self->priv->dest_parent_attachments; #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = current_parent_path; #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = gee_map_get (_tmp25_, _tmp26_); #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = (GeeSet*) _tmp27_; #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = source; #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection), _tmp29_); #line 2042 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp28_); #line 18753 "Commands.c" } #line 2044 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = current_parent; #line 2044 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = tag_get_hierarchical_parent (_tmp30_); #line 2044 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_parent); #line 2044 "/home/jens/Source/shotwell/src/Commands.vala" current_parent = _tmp31_; #line 2036 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (current_parent_path); #line 18765 "Commands.c" } #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (current_parent); #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 18771 "Commands.c" } #line 2034 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 18775 "Commands.c" } { GeeIterator* _source_it = NULL; Tag* _tmp32_; GeeCollection* _tmp33_; GeeCollection* _tmp34_; GeeIterator* _tmp35_; GeeIterator* _tmp36_; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = from_tag; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = tag_get_sources (_tmp32_); #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = _tmp33_; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = _tmp35_; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp34_); #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp36_; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18800 "Commands.c" GeeIterator* _tmp37_; MediaSource* source = NULL; GeeIterator* _tmp38_; gpointer _tmp39_; Tag* _tmp40_; MediaSource* _tmp41_; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = _source_it; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp37_)) { #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18813 "Commands.c" } #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = _source_it; #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = gee_iterator_get (_tmp38_); #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp39_; #line 2049 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = to_tag; #line 2049 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = source; #line 2049 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp40_, _tmp41_); #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 18829 "Commands.c" } #line 2048 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 18833 "Commands.c" } #line 2053 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = from_tag; #line 2053 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = tag_get_hierarchical_children (_tmp42_); #line 2053 "/home/jens/Source/shotwell/src/Commands.vala" from_children = _tmp43_; #line 18841 "Commands.c" { gint i = 0; GeeList* _tmp44_; gint _tmp45_; gint _tmp46_; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = from_children; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection)); #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp46_ = _tmp45_; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp46_ - 1; #line 18855 "Commands.c" { gboolean _tmp47_ = FALSE; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = TRUE; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18862 "Commands.c" gint _tmp49_; Tag* from_child = NULL; GeeList* _tmp50_; gint _tmp51_; gpointer _tmp52_; gchar* child_subpath = NULL; Tag* _tmp53_; gchar* _tmp54_; gchar* _tmp55_; gchar* _tmp56_; gchar* _tmp57_; gchar* _tmp58_; gchar* _tmp59_; Tag* to_child = NULL; Tag* _tmp60_; gchar* _tmp61_; gchar* _tmp62_; gchar* _tmp63_; gchar* _tmp64_; const gchar* _tmp65_; gchar* _tmp66_; gchar* _tmp67_; Tag* _tmp68_; Tag* _tmp69_; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp47_) { #line 18889 "Commands.c" gint _tmp48_; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp48_ = i; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp48_ - 1; #line 18895 "Commands.c" } #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = FALSE; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _tmp49_ = i; #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp49_ >= 0)) { #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 18905 "Commands.c" } #line 2055 "/home/jens/Source/shotwell/src/Commands.vala" _tmp50_ = from_children; #line 2055 "/home/jens/Source/shotwell/src/Commands.vala" _tmp51_ = i; #line 2055 "/home/jens/Source/shotwell/src/Commands.vala" _tmp52_ = gee_list_get (_tmp50_, _tmp51_); #line 2055 "/home/jens/Source/shotwell/src/Commands.vala" from_child = (Tag*) _tmp52_; #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp53_ = from_child; #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp54_ = tag_get_path (_tmp53_); #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp55_ = _tmp54_; #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp56_ = g_strconcat (from, TAG_PATH_SEPARATOR_STRING, NULL); #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp57_ = _tmp56_; #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp58_ = string_replace (_tmp55_, _tmp57_, ""); #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _tmp59_ = _tmp58_; #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp57_); #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp55_); #line 2057 "/home/jens/Source/shotwell/src/Commands.vala" child_subpath = _tmp59_; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp60_ = to_tag; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp61_ = tag_get_path (_tmp60_); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp62_ = _tmp61_; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp63_ = g_strconcat (_tmp62_, TAG_PATH_SEPARATOR_STRING, NULL); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp64_ = _tmp63_; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp65_ = child_subpath; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp66_ = g_strconcat (_tmp64_, _tmp65_, NULL); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp67_ = _tmp66_; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp68_ = tag_for_path (_tmp67_); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _tmp69_ = _tmp68_; #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp67_); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp64_); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp62_); #line 2060 "/home/jens/Source/shotwell/src/Commands.vala" to_child = _tmp69_; #line 18963 "Commands.c" { GeeIterator* _source_it = NULL; Tag* _tmp70_; GeeCollection* _tmp71_; GeeCollection* _tmp72_; GeeIterator* _tmp73_; GeeIterator* _tmp74_; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp70_ = from_child; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp71_ = tag_get_sources (_tmp70_); #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp72_ = _tmp71_; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp73_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp74_ = _tmp73_; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp72_); #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp74_; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 18987 "Commands.c" GeeIterator* _tmp75_; MediaSource* source = NULL; GeeIterator* _tmp76_; gpointer _tmp77_; Tag* _tmp78_; MediaSource* _tmp79_; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp75_ = _source_it; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp75_)) { #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19000 "Commands.c" } #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp76_ = _source_it; #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _tmp77_ = gee_iterator_get (_tmp76_); #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp77_; #line 2064 "/home/jens/Source/shotwell/src/Commands.vala" _tmp78_ = to_child; #line 2064 "/home/jens/Source/shotwell/src/Commands.vala" _tmp79_ = source; #line 2064 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp78_, _tmp79_); #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 19016 "Commands.c" } #line 2063 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 19020 "Commands.c" } #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (to_child); #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (child_subpath); #line 2054 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (from_child); #line 19028 "Commands.c" } } } #line 2024 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (from_children); #line 2024 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (to_tag); #line 2024 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (from_tag); #line 19038 "Commands.c" } static void reparent_tag_command_destroy_subtree (ReparentTagCommand* self, const gchar* client_path) { gchar* victim_path = NULL; gchar* _tmp0_; const gchar* _tmp1_; TagSourceCollection* _tmp3_; const gchar* _tmp4_; Tag* victim = NULL; const gchar* _tmp5_; Tag* _tmp6_; GeeList* victim_children = NULL; Tag* _tmp7_; GeeList* _tmp8_; TagSourceCollection* _tmp23_; TagSourceCollection* _tmp24_; Tag* _tmp25_; Marker* _tmp26_; Marker* _tmp27_; #line 2068 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_REPARENT_TAG_COMMAND (self)); #line 2068 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (client_path != NULL); #line 2069 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = hierarchical_tag_utilities_get_root_path_form (client_path); #line 2069 "/home/jens/Source/shotwell/src/Commands.vala" victim_path = _tmp0_; #line 2070 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = victim_path; #line 2070 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ == NULL) { #line 19074 "Commands.c" gchar* _tmp2_; #line 2071 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = g_strdup (client_path); #line 2071 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (victim_path); #line 2071 "/home/jens/Source/shotwell/src/Commands.vala" victim_path = _tmp2_; #line 19082 "Commands.c" } #line 2073 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = tag_global; #line 2073 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = victim_path; #line 2073 "/home/jens/Source/shotwell/src/Commands.vala" if (!tag_source_collection_exists (_tmp3_, _tmp4_, FALSE)) { #line 2074 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (victim_path); #line 2074 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 19094 "Commands.c" } #line 2076 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = victim_path; #line 2076 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = tag_for_path (_tmp5_); #line 2076 "/home/jens/Source/shotwell/src/Commands.vala" victim = _tmp6_; #line 2079 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = victim; #line 2079 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = tag_get_hierarchical_children (_tmp7_); #line 2079 "/home/jens/Source/shotwell/src/Commands.vala" victim_children = _tmp8_; #line 19108 "Commands.c" { gint i = 0; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" i = 0; #line 19113 "Commands.c" { gboolean _tmp9_ = FALSE; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = TRUE; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19120 "Commands.c" gint _tmp11_; GeeList* _tmp12_; gint _tmp13_; gint _tmp14_; TagSourceCollection* _tmp15_; TagSourceCollection* _tmp16_; GeeList* _tmp17_; gint _tmp18_; gpointer _tmp19_; Tag* _tmp20_; Marker* _tmp21_; Marker* _tmp22_; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp9_) { #line 19135 "Commands.c" gint _tmp10_; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = i; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" i = _tmp10_ + 1; #line 19141 "Commands.c" } #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = FALSE; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = i; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = victim_children; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _tmp13_; #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp11_ < _tmp14_)) { #line 2080 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19157 "Commands.c" } #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = tag_global; #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = tag_global; #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = victim_children; #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = i; #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = gee_list_get (_tmp17_, _tmp18_); #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = (Tag*) _tmp19_; #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject)); #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _tmp21_; #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp22_, TRUE, NULL, NULL, NULL); #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp22_); #line 2081 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp20_); #line 19181 "Commands.c" } } } #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = tag_global; #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = tag_global; #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = victim; #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _tmp26_; #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp27_, TRUE, NULL, NULL, NULL); #line 2084 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp27_); #line 2068 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (victim_children); #line 2068 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (victim); #line 2068 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (victim_path); #line 19205 "Commands.c" } static void reparent_tag_command_real_execute (Command* base) { ReparentTagCommand * self; GeeList* _tmp0_; #line 2087 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_REPARENT_TAG_COMMAND, ReparentTagCommand); #line 2088 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->after_state; #line 2088 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ == NULL) { #line 19220 "Commands.c" const gchar* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; const gchar* _tmp4_; #line 2089 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_save_before_state (self); #line 2091 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->to_path; #line 2091 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_prepare_parent (self, _tmp1_); #line 2093 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->from_path; #line 2093 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->to_path; #line 2093 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_copy_subtree (self, _tmp2_, _tmp3_); #line 2095 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_save_after_state (self); #line 2097 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_do_source_parent_detachments (self); #line 2099 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->from_path; #line 2099 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_destroy_subtree (self, _tmp4_); #line 19245 "Commands.c" } else { const gchar* _tmp5_; const gchar* _tmp6_; GeeMap* _tmp7_; const gchar* _tmp8_; const gchar* _tmp9_; #line 2101 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->to_path; #line 2101 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_prepare_parent (self, _tmp5_); #line 2103 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_restore_after_state (self); #line 2105 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->to_path; #line 2105 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->in_play_child_structure; #line 2105 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_restore_child_attachments_at (self, _tmp6_, _tmp7_); #line 2106 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->to_path; #line 2106 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_reattach_in_play_sources_at (self, _tmp8_); #line 2108 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_do_source_parent_detachments (self); #line 2109 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_do_destination_parent_reattachments (self); #line 2111 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->from_path; #line 2111 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_destroy_subtree (self, _tmp9_); #line 19276 "Commands.c" } } static void reparent_tag_command_real_undo (Command* base) { ReparentTagCommand * self; GeeList* _tmp0_; const gchar* _tmp1_; gboolean _tmp2_; const gchar* _tmp4_; GeeMap* _tmp5_; const gchar* _tmp6_; const gchar* _tmp7_; const gchar* _tmp8_; const gchar* _tmp9_; #line 2115 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_REPARENT_TAG_COMMAND, ReparentTagCommand); #line 2116 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->src_before_state; #line 2116 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (_tmp0_ != NULL, "src_before_state != null"); #line 2118 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->from_path; #line 2118 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_prepare_parent (self, _tmp1_); #line 2120 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_restore_before_state (self); #line 2122 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->to_path_exists; #line 2122 "/home/jens/Source/shotwell/src/Commands.vala" if (!_tmp2_) { #line 19310 "Commands.c" const gchar* _tmp3_; #line 2123 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->to_path; #line 2123 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_destroy_subtree (self, _tmp3_); #line 19316 "Commands.c" } #line 2125 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->from_path; #line 2125 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->in_play_child_structure; #line 2125 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_restore_child_attachments_at (self, _tmp4_, _tmp5_); #line 2126 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->from_path; #line 2126 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_reattach_in_play_sources_at (self, _tmp6_); #line 2128 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_do_source_parent_reattachments (self); #line 2129 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_do_destination_parent_detachments (self); #line 2131 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->to_path; #line 2131 "/home/jens/Source/shotwell/src/Commands.vala" hierarchical_tag_utilities_cleanup_root_path (_tmp7_); #line 2132 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->from_path; #line 2132 "/home/jens/Source/shotwell/src/Commands.vala" hierarchical_tag_utilities_cleanup_root_path (_tmp8_); #line 2133 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->to_path_parent_path; #line 2133 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp9_ != NULL) { #line 19344 "Commands.c" const gchar* _tmp10_; #line 2134 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = self->priv->to_path_parent_path; #line 2134 "/home/jens/Source/shotwell/src/Commands.vala" hierarchical_tag_utilities_cleanup_root_path (_tmp10_); #line 19350 "Commands.c" } } static void reparent_tag_command_class_init (ReparentTagCommandClass * klass) { #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" reparent_tag_command_parent_class = g_type_class_peek_parent (klass); #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (ReparentTagCommandPrivate)); #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) reparent_tag_command_real_execute; #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) reparent_tag_command_real_undo; #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = reparent_tag_command_finalize; #line 19368 "Commands.c" } static void reparent_tag_command_instance_init (ReparentTagCommand * self) { GeeHashSet* _tmp0_; #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = REPARENT_TAG_COMMAND_GET_PRIVATE (self); #line 1683 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->src_before_state = NULL; #line 1684 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->dest_before_state = NULL; #line 1685 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->after_state = NULL; #line 1686 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 1686 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->sources_in_play = _tmp0_; #line 1687 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->dest_parent_attachments = NULL; #line 1688 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->src_parent_detachments = NULL; #line 1689 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->in_play_child_structure = NULL; #line 1690 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->existing_dest_child_structure = NULL; #line 1691 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->existing_dest_membership = NULL; #line 1692 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_path_exists = FALSE; #line 19400 "Commands.c" } static void reparent_tag_command_finalize (GObject * obj) { ReparentTagCommand * self; LibraryPhotoSourceCollection* _tmp0_; guint _tmp1_; VideoSourceCollection* _tmp2_; guint _tmp3_; #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_REPARENT_TAG_COMMAND, ReparentTagCommand); #line 1724 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_photo_global; #line 1724 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); #line 1724 "/home/jens/Source/shotwell/src/Commands.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) _reparent_tag_command_on_items_destroyed_source_collection_items_destroyed, self); #line 1725 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = video_global; #line 1725 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); #line 1725 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _reparent_tag_command_on_items_destroyed_source_collection_items_destroyed, self); #line 1680 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->from_path); #line 1681 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path); #line 1682 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->to_path_parent_path); #line 1683 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->src_before_state); #line 1684 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dest_before_state); #line 1685 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->after_state); #line 1686 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->sources_in_play); #line 1687 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->dest_parent_attachments); #line 1688 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->src_parent_detachments); #line 1689 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->in_play_child_structure); #line 1690 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->existing_dest_child_structure); #line 1691 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->existing_dest_membership); #line 1679 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (reparent_tag_command_parent_class)->finalize (obj); #line 19452 "Commands.c" } GType reparent_tag_command_get_type (void) { static volatile gsize reparent_tag_command_type_id__volatile = 0; if (g_once_init_enter (&reparent_tag_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (ReparentTagCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) reparent_tag_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ReparentTagCommand), 0, (GInstanceInitFunc) reparent_tag_command_instance_init, NULL }; GType reparent_tag_command_type_id; reparent_tag_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "ReparentTagCommand", &g_define_type_info, 0); g_once_init_leave (&reparent_tag_command_type_id__volatile, reparent_tag_command_type_id); } return reparent_tag_command_type_id__volatile; } static void _modify_tags_command_on_proxy_broken_source_proxy_broken (SourceProxy* _sender, gpointer self) { #line 2179 "/home/jens/Source/shotwell/src/Commands.vala" modify_tags_command_on_proxy_broken ((ModifyTagsCommand*) self); #line 19476 "Commands.c" } ModifyTagsCommand* modify_tags_command_construct (GType object_type, MediaSource* media, GeeCollection* new_tag_list) { ModifyTagsCommand * self = NULL; MediaSource* _tmp0_; GeeList* original_tags = NULL; TagSourceCollection* _tmp1_; GeeList* _tmp2_; GeeList* _tmp3_; GeeSortedSet* new_paths = NULL; GeeTreeSet* _tmp20_; #line 2143 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_MEDIA_SOURCE (media), NULL); #line 2143 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (new_tag_list), NULL); #line 2144 "/home/jens/Source/shotwell/src/Commands.vala" self = (ModifyTagsCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (media, TYPE_DATA_SOURCE, DataSource), RESOURCES_MODIFY_TAGS_LABEL, ""); #line 2146 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (media); #line 2146 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->media); #line 2146 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->media = _tmp0_; #line 2149 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_global; #line 2149 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = tag_source_collection_fetch_for_source (_tmp1_, media); #line 2149 "/home/jens/Source/shotwell/src/Commands.vala" original_tags = _tmp2_; #line 2150 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = original_tags; #line 2150 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ != NULL) { #line 19515 "Commands.c" { GeeList* _tag_list = NULL; GeeList* _tmp4_; GeeList* _tmp5_; gint _tag_size = 0; GeeList* _tmp6_; gint _tmp7_; gint _tmp8_; gint _tag_index = 0; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = original_tags; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _g_object_ref0 (_tmp4_); #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tag_list = _tmp5_; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _tag_list; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tag_size = _tmp8_; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tag_index = -1; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19543 "Commands.c" gint _tmp9_; gint _tmp10_; gint _tmp11_; Tag* tag = NULL; GeeList* _tmp12_; gint _tmp13_; gpointer _tmp14_; SourceProxy* proxy = NULL; Tag* _tmp15_; SourceProxy* _tmp16_; GeeArrayList* _tmp17_; SourceProxy* _tmp18_; SourceProxy* _tmp19_; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _tag_index; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tag_index = _tmp9_ + 1; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tag_index; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tag_size; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp10_ < _tmp11_)) { #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19569 "Commands.c" } #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _tag_list; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _tag_index; #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = gee_list_get (_tmp12_, _tmp13_); #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" tag = (Tag*) _tmp14_; #line 2152 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = tag; #line 2152 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PROXYABLE, Proxyable)); #line 2152 "/home/jens/Source/shotwell/src/Commands.vala" proxy = _tmp16_; #line 2153 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = self->priv->to_remove; #line 2153 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = proxy; #line 2153 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp18_); #line 2154 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = proxy; #line 2154 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp19_, "broken", (GCallback) _modify_tags_command_on_proxy_broken_source_proxy_broken, self, 0); #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (tag); #line 19599 "Commands.c" } #line 2151 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tag_list); #line 19603 "Commands.c" } } #line 2160 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL); #line 2160 "/home/jens/Source/shotwell/src/Commands.vala" new_paths = G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_SORTED_SET, GeeSortedSet); #line 19610 "Commands.c" { GeeIterator* _new_tag_it = NULL; GeeIterator* _tmp21_; #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (new_tag_list, GEE_TYPE_ITERABLE, GeeIterable)); #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _new_tag_it = _tmp21_; #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19620 "Commands.c" GeeIterator* _tmp22_; Tag* new_tag = NULL; GeeIterator* _tmp23_; gpointer _tmp24_; gchar* new_tag_path = NULL; Tag* _tmp25_; gchar* _tmp26_; GeeSortedSet* _tmp27_; const gchar* _tmp28_; GeeSortedSet* _tmp29_; const gchar* _tmp30_; GeeList* _tmp31_; GeeList* _tmp32_; #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _new_tag_it; #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp22_)) { #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19640 "Commands.c" } #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _new_tag_it; #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = gee_iterator_get (_tmp23_); #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" new_tag = (Tag*) _tmp24_; #line 2162 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = new_tag; #line 2162 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = tag_get_path (_tmp25_); #line 2162 "/home/jens/Source/shotwell/src/Commands.vala" new_tag_path = _tmp26_; #line 2164 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = new_paths; #line 2164 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = new_tag_path; #line 2164 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_); #line 2165 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = new_paths; #line 2165 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = new_tag_path; #line 2165 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp30_); #line 2165 "/home/jens/Source/shotwell/src/Commands.vala" _tmp32_ = _tmp31_; #line 2165 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection)); #line 2165 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp32_); #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (new_tag_path); #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (new_tag); #line 19676 "Commands.c" } #line 2161 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_new_tag_it); #line 19680 "Commands.c" } { GeeIterator* _path_it = NULL; GeeSortedSet* _tmp33_; GeeIterator* _tmp34_; #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _tmp33_ = new_paths; #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _tmp34_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _path_it = _tmp34_; #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19694 "Commands.c" GeeIterator* _tmp35_; gchar* path = NULL; GeeIterator* _tmp36_; gpointer _tmp37_; TagSourceCollection* _tmp38_; const gchar* _tmp39_; SourceProxy* proxy = NULL; const gchar* _tmp40_; Tag* _tmp41_; Tag* _tmp42_; SourceProxy* _tmp43_; SourceProxy* _tmp44_; GeeArrayList* _tmp45_; SourceProxy* _tmp46_; SourceProxy* _tmp47_; #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _tmp35_ = _path_it; #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp35_)) { #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19716 "Commands.c" } #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _tmp36_ = _path_it; #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _tmp37_ = gee_iterator_get (_tmp36_); #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" path = (gchar*) _tmp37_; #line 2169 "/home/jens/Source/shotwell/src/Commands.vala" _tmp38_ = tag_global; #line 2169 "/home/jens/Source/shotwell/src/Commands.vala" _tmp39_ = path; #line 2169 "/home/jens/Source/shotwell/src/Commands.vala" _vala_assert (tag_source_collection_exists (_tmp38_, _tmp39_, FALSE), "Tag.global.exists(path)"); #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp40_ = path; #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp41_ = tag_for_path (_tmp40_); #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp42_ = _tmp41_; #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp43_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PROXYABLE, Proxyable)); #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" _tmp44_ = _tmp43_; #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp42_); #line 2171 "/home/jens/Source/shotwell/src/Commands.vala" proxy = _tmp44_; #line 2172 "/home/jens/Source/shotwell/src/Commands.vala" _tmp45_ = self->priv->to_add; #line 2172 "/home/jens/Source/shotwell/src/Commands.vala" _tmp46_ = proxy; #line 2172 "/home/jens/Source/shotwell/src/Commands.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp46_); #line 2173 "/home/jens/Source/shotwell/src/Commands.vala" _tmp47_ = proxy; #line 2173 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (_tmp47_, "broken", (GCallback) _modify_tags_command_on_proxy_broken_source_proxy_broken, self, 0); #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (path); #line 19758 "Commands.c" } #line 2168 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_path_it); #line 19762 "Commands.c" } #line 2143 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (new_paths); #line 2143 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (original_tags); #line 2143 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 19770 "Commands.c" } ModifyTagsCommand* modify_tags_command_new (MediaSource* media, GeeCollection* new_tag_list) { #line 2143 "/home/jens/Source/shotwell/src/Commands.vala" return modify_tags_command_construct (TYPE_MODIFY_TAGS_COMMAND, media, new_tag_list); #line 19780 "Commands.c" } static void modify_tags_command_real_execute (Command* base) { ModifyTagsCommand * self; #line 2185 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommand); #line 19790 "Commands.c" { GeeArrayList* _proxy_list = NULL; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _proxy_size = 0; GeeArrayList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _proxy_index = 0; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->to_remove; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_list = _tmp1_; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _proxy_list; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_size = _tmp4_; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = -1; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19818 "Commands.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; SourceProxy* proxy = NULL; GeeArrayList* _tmp8_; gint _tmp9_; gpointer _tmp10_; SourceProxy* _tmp11_; DataSource* _tmp12_; Tag* _tmp13_; MediaSource* _tmp14_; GeeList* _tmp15_; GeeList* _tmp16_; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _proxy_index; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = _tmp5_ + 1; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _proxy_index; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _proxy_size; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp6_ < _tmp7_)) { #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19844 "Commands.c" } #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _proxy_list; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _proxy_index; #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp10_; #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = proxy; #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = source_proxy_get_source (_tmp11_); #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_TAG, Tag); #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = self->priv->media; #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = tag_detach (_tmp13_, _tmp14_); #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _tmp15_; #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp16_); #line 2187 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp13_); #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 19872 "Commands.c" } #line 2186 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_list); #line 19876 "Commands.c" } { GeeArrayList* _proxy_list = NULL; GeeArrayList* _tmp17_; GeeArrayList* _tmp18_; gint _proxy_size = 0; GeeArrayList* _tmp19_; gint _tmp20_; gint _tmp21_; gint _proxy_index = 0; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = self->priv->to_add; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = _g_object_ref0 (_tmp17_); #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_list = _tmp18_; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _proxy_list; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_size = _tmp21_; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = -1; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19905 "Commands.c" gint _tmp22_; gint _tmp23_; gint _tmp24_; SourceProxy* proxy = NULL; GeeArrayList* _tmp25_; gint _tmp26_; gpointer _tmp27_; SourceProxy* _tmp28_; DataSource* _tmp29_; Tag* _tmp30_; MediaSource* _tmp31_; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _proxy_index; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = _tmp22_ + 1; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _proxy_index; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _proxy_size; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp23_ < _tmp24_)) { #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 19929 "Commands.c" } #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _proxy_list; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = _proxy_index; #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp26_); #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp27_; #line 2190 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = proxy; #line 2190 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = source_proxy_get_source (_tmp28_); #line 2190 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_TAG, Tag); #line 2190 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = self->priv->media; #line 2190 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp30_, _tmp31_); #line 2190 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp30_); #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 19953 "Commands.c" } #line 2189 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_list); #line 19957 "Commands.c" } } static void modify_tags_command_real_undo (Command* base) { ModifyTagsCommand * self; #line 2193 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommand); #line 19968 "Commands.c" { GeeArrayList* _proxy_list = NULL; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _proxy_size = 0; GeeArrayList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _proxy_index = 0; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->to_add; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_list = _tmp1_; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _proxy_list; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_size = _tmp4_; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = -1; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 19996 "Commands.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; SourceProxy* proxy = NULL; GeeArrayList* _tmp8_; gint _tmp9_; gpointer _tmp10_; SourceProxy* _tmp11_; DataSource* _tmp12_; Tag* _tmp13_; MediaSource* _tmp14_; GeeList* _tmp15_; GeeList* _tmp16_; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _proxy_index; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = _tmp5_ + 1; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _proxy_index; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _proxy_size; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp6_ < _tmp7_)) { #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20022 "Commands.c" } #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _proxy_list; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _proxy_index; #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp10_; #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = proxy; #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = source_proxy_get_source (_tmp11_); #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_TAG, Tag); #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = self->priv->media; #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = tag_detach (_tmp13_, _tmp14_); #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = _tmp15_; #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp16_); #line 2195 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp13_); #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 20050 "Commands.c" } #line 2194 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_list); #line 20054 "Commands.c" } { GeeArrayList* _proxy_list = NULL; GeeArrayList* _tmp17_; GeeArrayList* _tmp18_; gint _proxy_size = 0; GeeArrayList* _tmp19_; gint _tmp20_; gint _tmp21_; gint _proxy_index = 0; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = self->priv->to_remove; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = _g_object_ref0 (_tmp17_); #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_list = _tmp18_; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _proxy_list; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_size = _tmp21_; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = -1; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20083 "Commands.c" gint _tmp22_; gint _tmp23_; gint _tmp24_; SourceProxy* proxy = NULL; GeeArrayList* _tmp25_; gint _tmp26_; gpointer _tmp27_; SourceProxy* _tmp28_; DataSource* _tmp29_; Tag* _tmp30_; MediaSource* _tmp31_; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _proxy_index; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = _tmp22_ + 1; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _proxy_index; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = _proxy_size; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp23_ < _tmp24_)) { #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20107 "Commands.c" } #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = _proxy_list; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = _proxy_index; #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp26_); #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp27_; #line 2198 "/home/jens/Source/shotwell/src/Commands.vala" _tmp28_ = proxy; #line 2198 "/home/jens/Source/shotwell/src/Commands.vala" _tmp29_ = source_proxy_get_source (_tmp28_); #line 2198 "/home/jens/Source/shotwell/src/Commands.vala" _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_TAG, Tag); #line 2198 "/home/jens/Source/shotwell/src/Commands.vala" _tmp31_ = self->priv->media; #line 2198 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach (_tmp30_, _tmp31_); #line 2198 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp30_); #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 20131 "Commands.c" } #line 2197 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_list); #line 20135 "Commands.c" } } static void modify_tags_command_on_proxy_broken (ModifyTagsCommand* self) { CommandManager* _tmp0_; CommandManager* _tmp1_; #line 2201 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_MODIFY_TAGS_COMMAND (self)); #line 2202 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 2202 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 2202 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp1_); #line 2202 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp1_); #line 20155 "Commands.c" } static void modify_tags_command_class_init (ModifyTagsCommandClass * klass) { #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" modify_tags_command_parent_class = g_type_class_peek_parent (klass); #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (ModifyTagsCommandPrivate)); #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) modify_tags_command_real_execute; #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) modify_tags_command_real_undo; #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = modify_tags_command_finalize; #line 20172 "Commands.c" } static void modify_tags_command_instance_init (ModifyTagsCommand * self) { GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = MODIFY_TAGS_COMMAND_GET_PRIVATE (self); #line 2140 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL); #line 2140 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_add = _tmp0_; #line 2141 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, (GDestroyNotify) source_proxy_unref, NULL, NULL, NULL); #line 2141 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_remove = _tmp1_; #line 20191 "Commands.c" } static void modify_tags_command_finalize (GObject * obj) { ModifyTagsCommand * self; #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommand); #line 20201 "Commands.c" { GeeArrayList* _proxy_list = NULL; GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; gint _proxy_size = 0; GeeArrayList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _proxy_index = 0; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->to_add; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_list = _tmp1_; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _proxy_list; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_size = _tmp4_; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = -1; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20229 "Commands.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; SourceProxy* proxy = NULL; GeeArrayList* _tmp8_; gint _tmp9_; gpointer _tmp10_; SourceProxy* _tmp11_; guint _tmp12_; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _proxy_index; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = _tmp5_ + 1; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _proxy_index; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _proxy_size; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp6_ < _tmp7_)) { #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20251 "Commands.c" } #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _proxy_list; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _proxy_index; #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp10_; #line 2179 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = proxy; #line 2179 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp12_, NULL, FALSE); #line 2179 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _modify_tags_command_on_proxy_broken_source_proxy_broken, self); #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 20269 "Commands.c" } #line 2178 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_list); #line 20273 "Commands.c" } { GeeArrayList* _proxy_list = NULL; GeeArrayList* _tmp13_; GeeArrayList* _tmp14_; gint _proxy_size = 0; GeeArrayList* _tmp15_; gint _tmp16_; gint _tmp17_; gint _proxy_index = 0; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->priv->to_remove; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _g_object_ref0 (_tmp13_); #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_list = _tmp14_; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _proxy_list; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = _tmp16_; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_size = _tmp17_; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = -1; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20302 "Commands.c" gint _tmp18_; gint _tmp19_; gint _tmp20_; SourceProxy* proxy = NULL; GeeArrayList* _tmp21_; gint _tmp22_; gpointer _tmp23_; SourceProxy* _tmp24_; guint _tmp25_; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = _proxy_index; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _proxy_index = _tmp18_ + 1; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _proxy_index; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _proxy_size; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp19_ < _tmp20_)) { #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20324 "Commands.c" } #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _proxy_list; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = _proxy_index; #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp22_); #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" proxy = (SourceProxy*) _tmp23_; #line 2182 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = proxy; #line 2182 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp25_, NULL, FALSE); #line 2182 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (_tmp24_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp25_, 0, NULL, (GCallback) _modify_tags_command_on_proxy_broken_source_proxy_broken, self); #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _source_proxy_unref0 (proxy); #line 20342 "Commands.c" } #line 2181 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_proxy_list); #line 20346 "Commands.c" } #line 2139 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->media); #line 2140 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->to_add); #line 2141 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->to_remove); #line 2138 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (modify_tags_command_parent_class)->finalize (obj); #line 20356 "Commands.c" } GType modify_tags_command_get_type (void) { static volatile gsize modify_tags_command_type_id__volatile = 0; if (g_once_init_enter (&modify_tags_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (ModifyTagsCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) modify_tags_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ModifyTagsCommand), 0, (GInstanceInitFunc) modify_tags_command_instance_init, NULL }; GType modify_tags_command_type_id; modify_tags_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "ModifyTagsCommand", &g_define_type_info, 0); g_once_init_leave (&modify_tags_command_type_id__volatile, modify_tags_command_type_id); } return modify_tags_command_type_id__volatile; } static void _tag_untag_photos_command_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { #line 2226 "/home/jens/Source/shotwell/src/Commands.vala" tag_untag_photos_command_on_source_destroyed ((TagUntagPhotosCommand*) self, source); #line 20381 "Commands.c" } TagUntagPhotosCommand* tag_untag_photos_command_construct (GType object_type, Tag* tag, GeeCollection* sources, gint count, gboolean attach) { TagUntagPhotosCommand * self = NULL; gchar* _tmp0_ = NULL; gchar* _tmp7_; gchar* _tmp8_; GeeCollection* _tmp9_; LibraryPhotoSourceCollection* _tmp10_; VideoSourceCollection* _tmp11_; #line 2212 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_TAG (tag), NULL); #line 2212 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (sources), NULL); #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" if (attach) { #line 20405 "Commands.c" gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = tag_get_user_visible_name (tag); #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = resources_tag_photos_label (_tmp2_, count); #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp0_); #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _tmp3_; #line 2214 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp2_); #line 20421 "Commands.c" } else { gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; #line 2215 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = tag_get_user_visible_name (tag); #line 2215 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2215 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = resources_untag_photos_label (_tmp5_, count); #line 2215 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp0_); #line 2215 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _tmp6_; #line 2215 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp5_); #line 20438 "Commands.c" } #line 2213 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject)); #line 2213 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 2213 "/home/jens/Source/shotwell/src/Commands.vala" self = (TagUntagPhotosCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_PROXYABLE, Proxyable), _tmp0_, _tmp8_); #line 2213 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp8_); #line 2218 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = _g_object_ref0 (sources); #line 2218 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->sources); #line 2218 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->sources = _tmp9_; #line 2219 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->attach = attach; #line 2221 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = library_photo_global; #line 2221 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _tag_untag_photos_command_on_source_destroyed_source_collection_item_destroyed, self, 0); #line 2222 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = video_global; #line 2222 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _tag_untag_photos_command_on_source_destroyed_source_collection_item_destroyed, self, 0); #line 2212 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp0_); #line 2212 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 20468 "Commands.c" } TagUntagPhotosCommand* tag_untag_photos_command_new (Tag* tag, GeeCollection* sources, gint count, gboolean attach) { #line 2212 "/home/jens/Source/shotwell/src/Commands.vala" return tag_untag_photos_command_construct (TYPE_TAG_UNTAG_PHOTOS_COMMAND, tag, sources, count, attach); #line 20480 "Commands.c" } static void tag_untag_photos_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { TagUntagPhotosCommand * self; gboolean _tmp0_; #line 2230 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommand); #line 2230 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 2231 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->attach; #line 2231 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 2232 "/home/jens/Source/shotwell/src/Commands.vala" tag_untag_photos_command_do_attach (self, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag)); #line 20500 "Commands.c" } else { #line 2234 "/home/jens/Source/shotwell/src/Commands.vala" tag_untag_photos_command_do_detach (self, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag)); #line 20504 "Commands.c" } } static void tag_untag_photos_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { TagUntagPhotosCommand * self; gboolean _tmp0_; #line 2237 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommand); #line 2237 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 2238 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->attach; #line 2238 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_) { #line 2239 "/home/jens/Source/shotwell/src/Commands.vala" tag_untag_photos_command_do_detach (self, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag)); #line 20525 "Commands.c" } else { #line 2241 "/home/jens/Source/shotwell/src/Commands.vala" tag_untag_photos_command_do_attach (self, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag)); #line 20529 "Commands.c" } } static void tag_untag_photos_command_do_attach (TagUntagPhotosCommand* self, Tag* tag) { GeeMultiMap* _tmp0_; #line 2244 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TAG_UNTAG_PHOTOS_COMMAND (self)); #line 2244 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TAG (tag)); #line 2246 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->detached_from; #line 2246 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ == NULL) { #line 20547 "Commands.c" GeeCollection* _tmp1_; GeeArrayList* _tmp2_; Tag* curr_tmp = NULL; Tag* _tmp3_; #line 2247 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->sources; #line 2247 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach_many (tag, _tmp1_); #line 2249 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 2249 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->attached_to); #line 2249 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->attached_to = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList); #line 2251 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _g_object_ref0 (tag); #line 2251 "/home/jens/Source/shotwell/src/Commands.vala" curr_tmp = _tmp3_; #line 2253 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20568 "Commands.c" Tag* _tmp4_; GeeList* _tmp5_; Tag* _tmp6_; Tag* _tmp7_; Tag* _tmp8_; #line 2253 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = curr_tmp; #line 2253 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp4_ != NULL)) { #line 2253 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20580 "Commands.c" } #line 2254 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->attached_to; #line 2254 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = curr_tmp; #line 2254 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), _tmp6_); #line 2255 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = curr_tmp; #line 2255 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = tag_get_hierarchical_parent (_tmp7_); #line 2255 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (curr_tmp); #line 2255 "/home/jens/Source/shotwell/src/Commands.vala" curr_tmp = _tmp8_; #line 20596 "Commands.c" } #line 2258 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (curr_tmp); #line 2258 "/home/jens/Source/shotwell/src/Commands.vala" return; #line 20602 "Commands.c" } { GeeIterator* _detached_tag_it = NULL; GeeMultiMap* _tmp9_; GeeMultiSet* _tmp10_; GeeMultiSet* _tmp11_; GeeIterator* _tmp12_; GeeIterator* _tmp13_; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->detached_from; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_multi_map_get_all_keys (_tmp9_); #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _tmp12_; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp11_); #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _detached_tag_it = _tmp13_; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20627 "Commands.c" GeeIterator* _tmp14_; Tag* detached_tag = NULL; GeeIterator* _tmp15_; gpointer _tmp16_; Tag* _tmp17_; GeeMultiMap* _tmp18_; Tag* _tmp19_; GeeCollection* _tmp20_; GeeCollection* _tmp21_; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _detached_tag_it; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp14_)) { #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20643 "Commands.c" } #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _detached_tag_it; #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = gee_iterator_get (_tmp15_); #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" detached_tag = (Tag*) _tmp16_; #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = detached_tag; #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = self->priv->detached_from; #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = detached_tag; #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = gee_multi_map_get (_tmp18_, _tmp19_); #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = _tmp20_; #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" tag_attach_many (_tmp17_, _tmp21_); #line 2263 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp21_); #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (detached_tag); #line 20667 "Commands.c" } #line 2262 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_detached_tag_it); #line 20671 "Commands.c" } #line 2265 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->detached_from); #line 2265 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->detached_from = NULL; #line 2266 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_clear_added_proxies (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand)); #line 20679 "Commands.c" } static void tag_untag_photos_command_do_detach (TagUntagPhotosCommand* self, Tag* tag) { GeeList* _tmp0_; #line 2269 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TAG_UNTAG_PHOTOS_COMMAND (self)); #line 2269 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TAG (tag)); #line 2270 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->attached_to; #line 2270 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp0_ == NULL) { #line 20696 "Commands.c" GeeCollection* _tmp1_; GeeMultiMap* _tmp2_; GeeMultiMap* _tmp3_; GeeSet* _tmp4_; GeeSet* _tmp5_; #line 2274 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->sources; #line 2274 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = tag_detach_many (tag, _tmp1_); #line 2274 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->detached_from); #line 2274 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->detached_from = _tmp2_; #line 2278 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = self->priv->detached_from; #line 2278 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = gee_multi_map_get_keys (_tmp3_); #line 2278 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2278 "/home/jens/Source/shotwell/src/Commands.vala" simple_proxyable_command_add_proxyables (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); #line 2278 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp5_); #line 20720 "Commands.c" } else { { GeeList* _t_list = NULL; GeeList* _tmp6_; GeeList* _tmp7_; gint _t_size = 0; GeeList* _tmp8_; gint _tmp9_; gint _tmp10_; gint _t_index = 0; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->attached_to; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _g_object_ref0 (_tmp6_); #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _t_list = _tmp7_; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _t_list; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = _tmp9_; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _t_size = _tmp10_; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _t_index = -1; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20749 "Commands.c" gint _tmp11_; gint _tmp12_; gint _tmp13_; Tag* t = NULL; GeeList* _tmp14_; gint _tmp15_; gpointer _tmp16_; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _t_index; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _t_index = _tmp11_ + 1; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _t_index; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = _t_size; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" if (!(_tmp12_ < _tmp13_)) { #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20769 "Commands.c" } #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = _t_list; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = _t_index; #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = gee_list_get (_tmp14_, _tmp15_); #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" t = (Tag*) _tmp16_; #line 20779 "Commands.c" { GeeIterator* _ms_it = NULL; GeeCollection* _tmp17_; GeeIterator* _tmp18_; #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = self->priv->sources; #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _ms_it = _tmp18_; #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 20792 "Commands.c" GeeIterator* _tmp19_; MediaSource* ms = NULL; GeeIterator* _tmp20_; gpointer _tmp21_; Tag* _tmp22_; MediaSource* _tmp23_; #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = _ms_it; #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp19_)) { #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 20805 "Commands.c" } #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _ms_it; #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = gee_iterator_get (_tmp20_); #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" ms = (MediaSource*) _tmp21_; #line 2283 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = t; #line 2283 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = ms; #line 2283 "/home/jens/Source/shotwell/src/Commands.vala" if (tag_get_attachment_count (_tmp22_, _tmp23_) < 2) { #line 20819 "Commands.c" Tag* _tmp24_; MediaSource* _tmp25_; GeeList* _tmp26_; GeeList* _tmp27_; #line 2285 "/home/jens/Source/shotwell/src/Commands.vala" _tmp24_ = t; #line 2285 "/home/jens/Source/shotwell/src/Commands.vala" _tmp25_ = ms; #line 2285 "/home/jens/Source/shotwell/src/Commands.vala" _tmp26_ = tag_detach (_tmp24_, _tmp25_); #line 2285 "/home/jens/Source/shotwell/src/Commands.vala" _tmp27_ = _tmp26_; #line 2285 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp27_); #line 20834 "Commands.c" } #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (ms); #line 20838 "Commands.c" } #line 2281 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_ms_it); #line 20842 "Commands.c" } #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (t); #line 20846 "Commands.c" } #line 2280 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_t_list); #line 20850 "Commands.c" } } } static void tag_untag_photos_command_on_source_destroyed (TagUntagPhotosCommand* self, DataSource* source) { gchar* _tmp0_; gchar* _tmp1_; GeeCollection* _tmp2_; #line 2292 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TAG_UNTAG_PHOTOS_COMMAND (self)); #line 2292 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 2293 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_OBJECT, DataObject)); #line 2293 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 2293 "/home/jens/Source/shotwell/src/Commands.vala" g_debug ("Commands.vala:2293: on_source_destroyed: %s", _tmp1_); #line 2293 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 2294 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->sources; #line 2294 "/home/jens/Source/shotwell/src/Commands.vala" if (gee_collection_contains (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource))) { #line 20879 "Commands.c" CommandManager* _tmp3_; CommandManager* _tmp4_; #line 2295 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 2295 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2295 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp4_); #line 2295 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp4_); #line 20890 "Commands.c" } } static void tag_untag_photos_command_class_init (TagUntagPhotosCommandClass * klass) { #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" tag_untag_photos_command_parent_class = g_type_class_peek_parent (klass); #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (TagUntagPhotosCommandPrivate)); #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->execute_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) tag_untag_photos_command_real_execute_on_source; #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" ((SimpleProxyableCommandClass *) klass)->undo_on_source = (void (*) (SimpleProxyableCommand *, DataSource*)) tag_untag_photos_command_real_undo_on_source; #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = tag_untag_photos_command_finalize; #line 20908 "Commands.c" } static void tag_untag_photos_command_instance_init (TagUntagPhotosCommand * self) { #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = TAG_UNTAG_PHOTOS_COMMAND_GET_PRIVATE (self); #line 2209 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->detached_from = NULL; #line 2210 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->attached_to = NULL; #line 20921 "Commands.c" } static void tag_untag_photos_command_finalize (GObject * obj) { TagUntagPhotosCommand * self; LibraryPhotoSourceCollection* _tmp0_; guint _tmp1_; VideoSourceCollection* _tmp2_; guint _tmp3_; #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommand); #line 2226 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_photo_global; #line 2226 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); #line 2226 "/home/jens/Source/shotwell/src/Commands.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) _tag_untag_photos_command_on_source_destroyed_source_collection_item_destroyed, self); #line 2227 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = video_global; #line 2227 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); #line 2227 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _tag_untag_photos_command_on_source_destroyed_source_collection_item_destroyed, self); #line 2207 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->sources); #line 2209 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->detached_from); #line 2210 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->attached_to); #line 2206 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (tag_untag_photos_command_parent_class)->finalize (obj); #line 20955 "Commands.c" } GType tag_untag_photos_command_get_type (void) { static volatile gsize tag_untag_photos_command_type_id__volatile = 0; if (g_once_init_enter (&tag_untag_photos_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (TagUntagPhotosCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_untag_photos_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagUntagPhotosCommand), 0, (GInstanceInitFunc) tag_untag_photos_command_instance_init, NULL }; GType tag_untag_photos_command_type_id; tag_untag_photos_command_type_id = g_type_register_static (TYPE_SIMPLE_PROXYABLE_COMMAND, "TagUntagPhotosCommand", &g_define_type_info, 0); g_once_init_leave (&tag_untag_photos_command_type_id__volatile, tag_untag_photos_command_type_id); } return tag_untag_photos_command_type_id__volatile; } RenameSavedSearchCommand* rename_saved_search_command_construct (GType object_type, SavedSearch* search, const gchar* new_name) { RenameSavedSearchCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; SavedSearch* _tmp6_; gchar* _tmp7_; gchar* _tmp8_; #line 2304 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); #line 2304 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (new_name != NULL, NULL); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_OBJECT, DataObject)); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_rename_search_label (_tmp1_, new_name); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_OBJECT, DataObject)); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" self = (RenameSavedSearchCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_SOURCE, DataSource), _tmp3_, _tmp5_); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp5_); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 2305 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 2307 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _g_object_ref0 (search); #line 2307 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->search); #line 2307 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->search = _tmp6_; #line 2308 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_OBJECT, DataObject)); #line 2308 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_name); #line 2308 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->old_name = _tmp7_; #line 2309 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = g_strdup (new_name); #line 2309 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_name); #line 2309 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->new_name = _tmp8_; #line 2304 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 21032 "Commands.c" } RenameSavedSearchCommand* rename_saved_search_command_new (SavedSearch* search, const gchar* new_name) { #line 2304 "/home/jens/Source/shotwell/src/Commands.vala" return rename_saved_search_command_construct (TYPE_RENAME_SAVED_SEARCH_COMMAND, search, new_name); #line 21042 "Commands.c" } static void rename_saved_search_command_real_execute (Command* base) { RenameSavedSearchCommand * self; SavedSearch* _tmp0_; const gchar* _tmp1_; #line 2312 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommand); #line 2313 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->search; #line 2313 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->new_name; #line 2313 "/home/jens/Source/shotwell/src/Commands.vala" if (!saved_search_rename (_tmp0_, _tmp1_)) { #line 21060 "Commands.c" const gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; #line 2314 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->new_name; #line 2314 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = resources_rename_search_exists_message (_tmp2_); #line 2314 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2314 "/home/jens/Source/shotwell/src/Commands.vala" app_window_error_message (_tmp4_, NULL); #line 2314 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp4_); #line 21074 "Commands.c" } } static void rename_saved_search_command_real_undo (Command* base) { RenameSavedSearchCommand * self; SavedSearch* _tmp0_; const gchar* _tmp1_; #line 2317 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommand); #line 2318 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->search; #line 2318 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->old_name; #line 2318 "/home/jens/Source/shotwell/src/Commands.vala" if (!saved_search_rename (_tmp0_, _tmp1_)) { #line 21093 "Commands.c" const gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; #line 2319 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->old_name; #line 2319 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = resources_rename_search_exists_message (_tmp2_); #line 2319 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = _tmp3_; #line 2319 "/home/jens/Source/shotwell/src/Commands.vala" app_window_error_message (_tmp4_, NULL); #line 2319 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp4_); #line 21107 "Commands.c" } } static void rename_saved_search_command_class_init (RenameSavedSearchCommandClass * klass) { #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" rename_saved_search_command_parent_class = g_type_class_peek_parent (klass); #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (RenameSavedSearchCommandPrivate)); #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) rename_saved_search_command_real_execute; #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) rename_saved_search_command_real_undo; #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = rename_saved_search_command_finalize; #line 21125 "Commands.c" } static void rename_saved_search_command_instance_init (RenameSavedSearchCommand * self) { #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = RENAME_SAVED_SEARCH_COMMAND_GET_PRIVATE (self); #line 21134 "Commands.c" } static void rename_saved_search_command_finalize (GObject * obj) { RenameSavedSearchCommand * self; #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommand); #line 2300 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->search); #line 2301 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->old_name); #line 2302 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (self->priv->new_name); #line 2299 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (rename_saved_search_command_parent_class)->finalize (obj); #line 21152 "Commands.c" } GType rename_saved_search_command_get_type (void) { static volatile gsize rename_saved_search_command_type_id__volatile = 0; if (g_once_init_enter (&rename_saved_search_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (RenameSavedSearchCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rename_saved_search_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RenameSavedSearchCommand), 0, (GInstanceInitFunc) rename_saved_search_command_instance_init, NULL }; GType rename_saved_search_command_type_id; rename_saved_search_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "RenameSavedSearchCommand", &g_define_type_info, 0); g_once_init_leave (&rename_saved_search_command_type_id__volatile, rename_saved_search_command_type_id); } return rename_saved_search_command_type_id__volatile; } DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search) { DeleteSavedSearchCommand * self = NULL; gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; SavedSearch* _tmp6_; #line 2326 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_OBJECT, DataObject)); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = resources_delete_search_label (_tmp1_); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_OBJECT, DataObject)); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" self = (DeleteSavedSearchCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (search, TYPE_DATA_SOURCE, DataSource), _tmp3_, _tmp5_); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp5_); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp3_); #line 2327 "/home/jens/Source/shotwell/src/Commands.vala" _g_free0 (_tmp1_); #line 2329 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = _g_object_ref0 (search); #line 2329 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->search); #line 2329 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->search = _tmp6_; #line 2326 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 21212 "Commands.c" } DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search) { #line 2326 "/home/jens/Source/shotwell/src/Commands.vala" return delete_saved_search_command_construct (TYPE_DELETE_SAVED_SEARCH_COMMAND, search); #line 21221 "Commands.c" } static void delete_saved_search_command_real_execute (Command* base) { DeleteSavedSearchCommand * self; SavedSearchTable* _tmp0_; SavedSearchTable* _tmp1_; SavedSearch* _tmp2_; #line 2332 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand); #line 2333 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = saved_search_table_get_instance (); #line 2333 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _tmp0_; #line 2333 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = self->priv->search; #line 2333 "/home/jens/Source/shotwell/src/Commands.vala" saved_search_table_remove (_tmp1_, _tmp2_); #line 2333 "/home/jens/Source/shotwell/src/Commands.vala" _saved_search_table_unref0 (_tmp1_); #line 21244 "Commands.c" } static void delete_saved_search_command_real_undo (Command* base) { DeleteSavedSearchCommand * self; SavedSearch* _tmp0_; #line 2336 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand); #line 2337 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->search; #line 2337 "/home/jens/Source/shotwell/src/Commands.vala" saved_search_reconstitute (_tmp0_); #line 21259 "Commands.c" } static void delete_saved_search_command_class_init (DeleteSavedSearchCommandClass * klass) { #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" delete_saved_search_command_parent_class = g_type_class_peek_parent (klass); #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (DeleteSavedSearchCommandPrivate)); #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) delete_saved_search_command_real_execute; #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) delete_saved_search_command_real_undo; #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = delete_saved_search_command_finalize; #line 21276 "Commands.c" } static void delete_saved_search_command_instance_init (DeleteSavedSearchCommand * self) { #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = DELETE_SAVED_SEARCH_COMMAND_GET_PRIVATE (self); #line 21285 "Commands.c" } static void delete_saved_search_command_finalize (GObject * obj) { DeleteSavedSearchCommand * self; #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand); #line 2324 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->search); #line 2323 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (delete_saved_search_command_parent_class)->finalize (obj); #line 21299 "Commands.c" } GType delete_saved_search_command_get_type (void) { static volatile gsize delete_saved_search_command_type_id__volatile = 0; if (g_once_init_enter (&delete_saved_search_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (DeleteSavedSearchCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) delete_saved_search_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DeleteSavedSearchCommand), 0, (GInstanceInitFunc) delete_saved_search_command_instance_init, NULL }; GType delete_saved_search_command_type_id; delete_saved_search_command_type_id = g_type_register_static (TYPE_SINGLE_DATA_SOURCE_COMMAND, "DeleteSavedSearchCommand", &g_define_type_info, 0); g_once_init_leave (&delete_saved_search_command_type_id__volatile, delete_saved_search_command_type_id); } return delete_saved_search_command_type_id__volatile; } static void _trash_untrash_photos_command_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { #line 2358 "/home/jens/Source/shotwell/src/Commands.vala" trash_untrash_photos_command_on_photo_destroyed ((TrashUntrashPhotosCommand*) self, source); #line 21324 "Commands.c" } TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash) { TrashUntrashPhotosCommand * self = NULL; const gchar* _tmp0_ = NULL; const gchar* _tmp1_ = NULL; GeeCollection* _tmp2_; LibraryPhotoSourceCollection* _tmp3_; VideoSourceCollection* _tmp4_; #line 2345 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (sources), NULL); #line 2347 "/home/jens/Source/shotwell/src/Commands.vala" if (to_trash) { #line 2347 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _ ("Move Photos to Trash"); #line 21345 "Commands.c" } else { #line 2347 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _ ("Restore Photos from Trash"); #line 21349 "Commands.c" } #line 2348 "/home/jens/Source/shotwell/src/Commands.vala" if (to_trash) { #line 2348 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _ ("Move the photos to the Shotwell trash"); #line 21355 "Commands.c" } else { #line 2348 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _ ("Restore the photos back to the Shotwell library"); #line 21359 "Commands.c" } #line 2346 "/home/jens/Source/shotwell/src/Commands.vala" self = (TrashUntrashPhotosCommand*) page_command_construct (object_type, _tmp0_, _tmp1_); #line 2350 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _g_object_ref0 (sources); #line 2350 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->sources); #line 2350 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->sources = _tmp2_; #line 2351 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->to_trash = to_trash; #line 2353 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = library_photo_global; #line 2353 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _trash_untrash_photos_command_on_photo_destroyed_source_collection_item_destroyed, self, 0); #line 2354 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = video_global; #line 2354 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _trash_untrash_photos_command_on_photo_destroyed_source_collection_item_destroyed, self, 0); #line 2345 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 21381 "Commands.c" } TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash) { #line 2345 "/home/jens/Source/shotwell/src/Commands.vala" return trash_untrash_photos_command_construct (TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, sources, to_trash); #line 21391 "Commands.c" } static ProgressDialog* trash_untrash_photos_command_get_progress_dialog (TrashUntrashPhotosCommand* self, gboolean to_trash) { ProgressDialog* result = NULL; GeeCollection* _tmp0_; gint _tmp1_; gint _tmp2_; const gchar* _tmp3_ = NULL; ProgressDialog* dialog = NULL; AppWindow* _tmp4_; AppWindow* _tmp5_; ProgressDialog* _tmp6_; ProgressDialog* _tmp7_; ProgressDialog* _tmp8_; GeeCollection* _tmp9_; gint _tmp10_; gint _tmp11_; #line 2362 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (IS_TRASH_UNTRASH_PHOTOS_COMMAND (self), NULL); #line 2363 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->sources; #line 2363 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_collection_get_size (_tmp0_); #line 2363 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 2363 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ <= 5) { #line 2364 "/home/jens/Source/shotwell/src/Commands.vala" result = NULL; #line 2364 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 21427 "Commands.c" } #line 2367 "/home/jens/Source/shotwell/src/Commands.vala" if (to_trash) { #line 2367 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _ ("Moving Photos to Trash"); #line 21433 "Commands.c" } else { #line 2367 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _ ("Restoring Photos From Trash"); #line 21437 "Commands.c" } #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = app_window_get_instance (); #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_window_get_type (), GtkWindow), _tmp3_, NULL); #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" g_object_ref_sink (_tmp6_); #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = _tmp6_; #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_tmp5_); #line 2366 "/home/jens/Source/shotwell/src/Commands.vala" dialog = _tmp7_; #line 2368 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = dialog; #line 2368 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->sources; #line 2368 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_collection_get_size (_tmp9_); #line 2368 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 2368 "/home/jens/Source/shotwell/src/Commands.vala" progress_dialog_update_display_every (_tmp8_, CLAMP (_tmp11_ / 5, 2, 10)); #line 2370 "/home/jens/Source/shotwell/src/Commands.vala" result = dialog; #line 2370 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 21467 "Commands.c" } static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self) { gboolean result; result = progress_dialog_monitor ((ProgressDialog*) self, current, total, do_event_loop); #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" return result; #line 21481 "Commands.c" } static void trash_untrash_photos_command_real_execute (Command* base) { TrashUntrashPhotosCommand * self; ProgressDialog* dialog = NULL; gboolean _tmp0_; ProgressDialog* _tmp1_; ProgressMonitor monitor = NULL; void* monitor_target; GDestroyNotify monitor_target_destroy_notify; ProgressDialog* _tmp2_; gboolean _tmp4_; ProgressDialog* _tmp7_; #line 2373 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand); #line 2374 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->to_trash; #line 2374 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = trash_untrash_photos_command_get_progress_dialog (self, _tmp0_); #line 2374 "/home/jens/Source/shotwell/src/Commands.vala" dialog = _tmp1_; #line 2376 "/home/jens/Source/shotwell/src/Commands.vala" monitor = NULL; #line 2376 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = NULL; #line 2376 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = NULL; #line 2377 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = dialog; #line 2377 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 21516 "Commands.c" ProgressDialog* _tmp3_; #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = dialog; #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" monitor = NULL; #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = NULL; #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = NULL; #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" monitor = _progress_dialog_monitor_progress_monitor; #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = g_object_ref (_tmp3_); #line 2378 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = g_object_unref; #line 21534 "Commands.c" } #line 2380 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->to_trash; #line 2380 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp4_) { #line 21540 "Commands.c" ProgressMonitor _tmp5_; void* _tmp5__target; #line 2381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = monitor; #line 2381 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5__target = monitor_target; #line 2381 "/home/jens/Source/shotwell/src/Commands.vala" trash_untrash_photos_command_trash (self, _tmp5_, _tmp5__target); #line 21549 "Commands.c" } else { ProgressMonitor _tmp6_; void* _tmp6__target; #line 2383 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = monitor; #line 2383 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6__target = monitor_target; #line 2383 "/home/jens/Source/shotwell/src/Commands.vala" trash_untrash_photos_command_untrash (self, _tmp6_, _tmp6__target); #line 21559 "Commands.c" } #line 2385 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = dialog; #line 2385 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ != NULL) { #line 21565 "Commands.c" ProgressDialog* _tmp8_; #line 2386 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = dialog; #line 2386 "/home/jens/Source/shotwell/src/Commands.vala" progress_dialog_close (_tmp8_); #line 21571 "Commands.c" } #line 2373 "/home/jens/Source/shotwell/src/Commands.vala" (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); #line 2373 "/home/jens/Source/shotwell/src/Commands.vala" monitor = NULL; #line 2373 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = NULL; #line 2373 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = NULL; #line 2373 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dialog); #line 21583 "Commands.c" } static void trash_untrash_photos_command_real_undo (Command* base) { TrashUntrashPhotosCommand * self; ProgressDialog* dialog = NULL; gboolean _tmp0_; ProgressDialog* _tmp1_; ProgressMonitor monitor = NULL; void* monitor_target; GDestroyNotify monitor_target_destroy_notify; ProgressDialog* _tmp2_; gboolean _tmp4_; ProgressDialog* _tmp7_; #line 2389 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand); #line 2390 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->to_trash; #line 2390 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = trash_untrash_photos_command_get_progress_dialog (self, !_tmp0_); #line 2390 "/home/jens/Source/shotwell/src/Commands.vala" dialog = _tmp1_; #line 2392 "/home/jens/Source/shotwell/src/Commands.vala" monitor = NULL; #line 2392 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = NULL; #line 2392 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = NULL; #line 2393 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = dialog; #line 2393 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp2_ != NULL) { #line 21618 "Commands.c" ProgressDialog* _tmp3_; #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = dialog; #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" monitor = NULL; #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = NULL; #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = NULL; #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" monitor = _progress_dialog_monitor_progress_monitor; #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = g_object_ref (_tmp3_); #line 2394 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = g_object_unref; #line 21636 "Commands.c" } #line 2396 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = self->priv->to_trash; #line 2396 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp4_) { #line 21642 "Commands.c" ProgressMonitor _tmp5_; void* _tmp5__target; #line 2397 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = monitor; #line 2397 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5__target = monitor_target; #line 2397 "/home/jens/Source/shotwell/src/Commands.vala" trash_untrash_photos_command_untrash (self, _tmp5_, _tmp5__target); #line 21651 "Commands.c" } else { ProgressMonitor _tmp6_; void* _tmp6__target; #line 2399 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = monitor; #line 2399 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6__target = monitor_target; #line 2399 "/home/jens/Source/shotwell/src/Commands.vala" trash_untrash_photos_command_trash (self, _tmp6_, _tmp6__target); #line 21661 "Commands.c" } #line 2401 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = dialog; #line 2401 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ != NULL) { #line 21667 "Commands.c" ProgressDialog* _tmp8_; #line 2402 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = dialog; #line 2402 "/home/jens/Source/shotwell/src/Commands.vala" progress_dialog_close (_tmp8_); #line 21673 "Commands.c" } #line 2389 "/home/jens/Source/shotwell/src/Commands.vala" (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); #line 2389 "/home/jens/Source/shotwell/src/Commands.vala" monitor = NULL; #line 2389 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target = NULL; #line 2389 "/home/jens/Source/shotwell/src/Commands.vala" monitor_target_destroy_notify = NULL; #line 2389 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (dialog); #line 21685 "Commands.c" } static void trash_untrash_photos_command_trash (TrashUntrashPhotosCommand* self, ProgressMonitor monitor, void* monitor_target) { gint ctr = 0; gint count = 0; GeeCollection* _tmp0_; gint _tmp1_; gint _tmp2_; LibraryPhotoSourceCollection* _tmp3_; TransactionController* _tmp4_; TransactionController* _tmp5_; VideoSourceCollection* _tmp6_; TransactionController* _tmp7_; TransactionController* _tmp8_; LibraryPhotoSourceCollection* _tmp18_; TransactionController* _tmp19_; TransactionController* _tmp20_; VideoSourceCollection* _tmp21_; TransactionController* _tmp22_; TransactionController* _tmp23_; #line 2405 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TRASH_UNTRASH_PHOTOS_COMMAND (self)); #line 2406 "/home/jens/Source/shotwell/src/Commands.vala" ctr = 0; #line 2407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->sources; #line 2407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_collection_get_size (_tmp0_); #line 2407 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 2407 "/home/jens/Source/shotwell/src/Commands.vala" count = _tmp2_; #line 2409 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = library_photo_global; #line 2409 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2409 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2409 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_begin (_tmp5_); #line 2410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = video_global; #line 2410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2410 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 2410 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_begin (_tmp8_); #line 21739 "Commands.c" { GeeIterator* _source_it = NULL; GeeCollection* _tmp9_; GeeIterator* _tmp10_; #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->sources; #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp10_; #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 21752 "Commands.c" GeeIterator* _tmp11_; MediaSource* source = NULL; GeeIterator* _tmp12_; gpointer _tmp13_; MediaSource* _tmp14_; #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _source_it; #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp11_)) { #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 21764 "Commands.c" } #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _source_it; #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_iterator_get (_tmp12_); #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp13_; #line 2413 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = source; #line 2413 "/home/jens/Source/shotwell/src/Commands.vala" media_source_trash (_tmp14_); #line 2414 "/home/jens/Source/shotwell/src/Commands.vala" if (monitor != NULL) { #line 21778 "Commands.c" gint _tmp15_; gint _tmp16_; gint _tmp17_; #line 2415 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = ctr; #line 2415 "/home/jens/Source/shotwell/src/Commands.vala" ctr = _tmp15_ + 1; #line 2415 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = ctr; #line 2415 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = count; #line 2415 "/home/jens/Source/shotwell/src/Commands.vala" monitor ((guint64) _tmp16_, (guint64) _tmp17_, TRUE, monitor_target); #line 21792 "Commands.c" } #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 21796 "Commands.c" } #line 2412 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 21800 "Commands.c" } #line 2418 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = library_photo_global; #line 2418 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2418 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _tmp19_; #line 2418 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_commit (_tmp20_); #line 2419 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = video_global; #line 2419 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2419 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _tmp22_; #line 2419 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_commit (_tmp23_); #line 21818 "Commands.c" } static void trash_untrash_photos_command_untrash (TrashUntrashPhotosCommand* self, ProgressMonitor monitor, void* monitor_target) { gint ctr = 0; gint count = 0; GeeCollection* _tmp0_; gint _tmp1_; gint _tmp2_; LibraryPhotoSourceCollection* _tmp3_; TransactionController* _tmp4_; TransactionController* _tmp5_; VideoSourceCollection* _tmp6_; TransactionController* _tmp7_; TransactionController* _tmp8_; LibraryPhotoSourceCollection* _tmp18_; TransactionController* _tmp19_; TransactionController* _tmp20_; VideoSourceCollection* _tmp21_; TransactionController* _tmp22_; TransactionController* _tmp23_; #line 2422 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TRASH_UNTRASH_PHOTOS_COMMAND (self)); #line 2423 "/home/jens/Source/shotwell/src/Commands.vala" ctr = 0; #line 2424 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->sources; #line 2424 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = gee_collection_get_size (_tmp0_); #line 2424 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _tmp1_; #line 2424 "/home/jens/Source/shotwell/src/Commands.vala" count = _tmp2_; #line 2426 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = library_photo_global; #line 2426 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2426 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2426 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_begin (_tmp5_); #line 2427 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = video_global; #line 2427 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2427 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = _tmp7_; #line 2427 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_begin (_tmp8_); #line 21872 "Commands.c" { GeeIterator* _source_it = NULL; GeeCollection* _tmp9_; GeeIterator* _tmp10_; #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = self->priv->sources; #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp10_; #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 21885 "Commands.c" GeeIterator* _tmp11_; MediaSource* source = NULL; GeeIterator* _tmp12_; gpointer _tmp13_; MediaSource* _tmp14_; #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _source_it; #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp11_)) { #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 21897 "Commands.c" } #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = _source_it; #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = gee_iterator_get (_tmp12_); #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" source = (MediaSource*) _tmp13_; #line 2430 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = source; #line 2430 "/home/jens/Source/shotwell/src/Commands.vala" media_source_untrash (_tmp14_); #line 2431 "/home/jens/Source/shotwell/src/Commands.vala" if (monitor != NULL) { #line 21911 "Commands.c" gint _tmp15_; gint _tmp16_; gint _tmp17_; #line 2432 "/home/jens/Source/shotwell/src/Commands.vala" _tmp15_ = ctr; #line 2432 "/home/jens/Source/shotwell/src/Commands.vala" ctr = _tmp15_ + 1; #line 2432 "/home/jens/Source/shotwell/src/Commands.vala" _tmp16_ = ctr; #line 2432 "/home/jens/Source/shotwell/src/Commands.vala" _tmp17_ = count; #line 2432 "/home/jens/Source/shotwell/src/Commands.vala" monitor ((guint64) _tmp16_, (guint64) _tmp17_, TRUE, monitor_target); #line 21925 "Commands.c" } #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 21929 "Commands.c" } #line 2429 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 21933 "Commands.c" } #line 2435 "/home/jens/Source/shotwell/src/Commands.vala" _tmp18_ = library_photo_global; #line 2435 "/home/jens/Source/shotwell/src/Commands.vala" _tmp19_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2435 "/home/jens/Source/shotwell/src/Commands.vala" _tmp20_ = _tmp19_; #line 2435 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_commit (_tmp20_); #line 2436 "/home/jens/Source/shotwell/src/Commands.vala" _tmp21_ = video_global; #line 2436 "/home/jens/Source/shotwell/src/Commands.vala" _tmp22_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); #line 2436 "/home/jens/Source/shotwell/src/Commands.vala" _tmp23_ = _tmp22_; #line 2436 "/home/jens/Source/shotwell/src/Commands.vala" transaction_controller_commit (_tmp23_); #line 21951 "Commands.c" } static void trash_untrash_photos_command_on_photo_destroyed (TrashUntrashPhotosCommand* self, DataSource* source) { GeeCollection* _tmp0_; GeeCollection* _tmp1_; gint _tmp2_; gint _tmp3_; #line 2439 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_TRASH_UNTRASH_PHOTOS_COMMAND (self)); #line 2439 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 2442 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = self->priv->sources; #line 2442 "/home/jens/Source/shotwell/src/Commands.vala" gee_collection_remove (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource)); #line 2446 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = self->priv->sources; #line 2446 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_collection_get_size (_tmp1_); #line 2446 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2446 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ == 0) { #line 21979 "Commands.c" CommandManager* _tmp4_; CommandManager* _tmp5_; #line 2447 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); #line 2447 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = _tmp4_; #line 2447 "/home/jens/Source/shotwell/src/Commands.vala" command_manager_reset (_tmp5_); #line 2447 "/home/jens/Source/shotwell/src/Commands.vala" _command_manager_unref0 (_tmp5_); #line 21990 "Commands.c" } } static void trash_untrash_photos_command_class_init (TrashUntrashPhotosCommandClass * klass) { #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" trash_untrash_photos_command_parent_class = g_type_class_peek_parent (klass); #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (TrashUntrashPhotosCommandPrivate)); #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->execute = (void (*) (Command *)) trash_untrash_photos_command_real_execute; #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" ((CommandClass *) klass)->undo = (void (*) (Command *)) trash_untrash_photos_command_real_undo; #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = trash_untrash_photos_command_finalize; #line 22008 "Commands.c" } static void trash_untrash_photos_command_instance_init (TrashUntrashPhotosCommand * self) { #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = TRASH_UNTRASH_PHOTOS_COMMAND_GET_PRIVATE (self); #line 22017 "Commands.c" } static void trash_untrash_photos_command_finalize (GObject * obj) { TrashUntrashPhotosCommand * self; LibraryPhotoSourceCollection* _tmp0_; guint _tmp1_; VideoSourceCollection* _tmp2_; guint _tmp3_; #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand); #line 2358 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = library_photo_global; #line 2358 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); #line 2358 "/home/jens/Source/shotwell/src/Commands.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) _trash_untrash_photos_command_on_photo_destroyed_source_collection_item_destroyed, self); #line 2359 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = video_global; #line 2359 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); #line 2359 "/home/jens/Source/shotwell/src/Commands.vala" g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _trash_untrash_photos_command_on_photo_destroyed_source_collection_item_destroyed, self); #line 2342 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->sources); #line 2341 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (trash_untrash_photos_command_parent_class)->finalize (obj); #line 22047 "Commands.c" } GType trash_untrash_photos_command_get_type (void) { static volatile gsize trash_untrash_photos_command_type_id__volatile = 0; if (g_once_init_enter (&trash_untrash_photos_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (TrashUntrashPhotosCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_untrash_photos_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashUntrashPhotosCommand), 0, (GInstanceInitFunc) trash_untrash_photos_command_instance_init, NULL }; GType trash_untrash_photos_command_type_id; trash_untrash_photos_command_type_id = g_type_register_static (TYPE_PAGE_COMMAND, "TrashUntrashPhotosCommand", &g_define_type_info, 0); g_once_init_leave (&trash_untrash_photos_command_type_id__volatile, trash_untrash_photos_command_type_id); } return trash_untrash_photos_command_type_id__volatile; } FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag) { FlagUnflagCommand * self = NULL; const gchar* _tmp0_ = NULL; const gchar* _tmp1_ = NULL; gint _tmp2_; gint _tmp3_; #line 2461 "/home/jens/Source/shotwell/src/Commands.vala" g_return_val_if_fail (GEE_IS_COLLECTION (sources), NULL); #line 2463 "/home/jens/Source/shotwell/src/Commands.vala" if (flag) { #line 2463 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _ ("Flag"); #line 22081 "Commands.c" } else { #line 2463 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _ ("Unflag"); #line 22085 "Commands.c" } #line 2464 "/home/jens/Source/shotwell/src/Commands.vala" if (flag) { #line 2464 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = FLAG_UNFLAG_COMMAND_FLAG_SELECTED_STRING; #line 22091 "Commands.c" } else { #line 2464 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = FLAG_UNFLAG_COMMAND_UNFLAG_SELECTED_STRING; #line 22095 "Commands.c" } #line 2462 "/home/jens/Source/shotwell/src/Commands.vala" self = (FlagUnflagCommand*) multiple_data_source_at_once_command_construct (object_type, sources, _tmp0_, _tmp1_); #line 2466 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->flag = flag; #line 2468 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = gee_collection_get_size (sources); #line 2468 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = _tmp2_; #line 2468 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp3_ >= FLAG_UNFLAG_COMMAND_MIN_PROGRESS_BAR_THRESHOLD) { #line 22107 "Commands.c" const gchar* _tmp4_ = NULL; ProgressDialog* _tmp5_; ProgressDialog* _tmp6_; #line 2470 "/home/jens/Source/shotwell/src/Commands.vala" if (flag) { #line 2470 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = FLAG_UNFLAG_COMMAND_FLAG_PROGRESS; #line 22115 "Commands.c" } else { #line 2470 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = FLAG_UNFLAG_COMMAND_UNFLAG_PROGRESS; #line 22119 "Commands.c" } #line 2469 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = progress_dialog_new (NULL, _tmp4_, NULL); #line 2469 "/home/jens/Source/shotwell/src/Commands.vala" g_object_ref_sink (_tmp5_); #line 2469 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->progress_dialog); #line 2469 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->progress_dialog = _tmp5_; #line 2472 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = self->priv->progress_dialog; #line 2472 "/home/jens/Source/shotwell/src/Commands.vala" gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); #line 22133 "Commands.c" } #line 2461 "/home/jens/Source/shotwell/src/Commands.vala" return self; #line 22137 "Commands.c" } FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag) { #line 2461 "/home/jens/Source/shotwell/src/Commands.vala" return flag_unflag_command_construct (TYPE_FLAG_UNFLAG_COMMAND, sources, flag); #line 22147 "Commands.c" } static void flag_unflag_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { FlagUnflagCommand * self; gint num_processed = 0; ProgressDialog* _tmp13_; #line 2476 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand); #line 2476 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (sources)); #line 2477 "/home/jens/Source/shotwell/src/Commands.vala" num_processed = 0; #line 22164 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 22174 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; DataSource* _tmp4_; gboolean _tmp5_; gint _tmp6_; ProgressDialog* _tmp7_; #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 22189 "Commands.c" } #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 2480 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = source; #line 2480 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->flag; #line 2480 "/home/jens/Source/shotwell/src/Commands.vala" flag_unflag_command_flag_unflag (self, _tmp4_, _tmp5_); #line 2482 "/home/jens/Source/shotwell/src/Commands.vala" _tmp6_ = num_processed; #line 2482 "/home/jens/Source/shotwell/src/Commands.vala" num_processed = _tmp6_ + 1; #line 2484 "/home/jens/Source/shotwell/src/Commands.vala" _tmp7_ = self->priv->progress_dialog; #line 2484 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp7_ != NULL) { #line 22211 "Commands.c" ProgressDialog* _tmp8_; gint _tmp9_; gint _tmp10_; gint _tmp11_; ProgressDialog* _tmp12_; #line 2485 "/home/jens/Source/shotwell/src/Commands.vala" _tmp8_ = self->priv->progress_dialog; #line 2485 "/home/jens/Source/shotwell/src/Commands.vala" _tmp9_ = num_processed; #line 2485 "/home/jens/Source/shotwell/src/Commands.vala" _tmp10_ = gee_collection_get_size (sources); #line 2485 "/home/jens/Source/shotwell/src/Commands.vala" _tmp11_ = _tmp10_; #line 2485 "/home/jens/Source/shotwell/src/Commands.vala" progress_dialog_set_fraction (_tmp8_, _tmp9_, _tmp11_); #line 2486 "/home/jens/Source/shotwell/src/Commands.vala" _tmp12_ = self->priv->progress_dialog; #line 2486 "/home/jens/Source/shotwell/src/Commands.vala" gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); #line 2487 "/home/jens/Source/shotwell/src/Commands.vala" spin_event_loop (); #line 22233 "Commands.c" } #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 22237 "Commands.c" } #line 2479 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 22241 "Commands.c" } #line 2491 "/home/jens/Source/shotwell/src/Commands.vala" _tmp13_ = self->priv->progress_dialog; #line 2491 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp13_ != NULL) { #line 22247 "Commands.c" ProgressDialog* _tmp14_; #line 2492 "/home/jens/Source/shotwell/src/Commands.vala" _tmp14_ = self->priv->progress_dialog; #line 2492 "/home/jens/Source/shotwell/src/Commands.vala" gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget)); #line 22253 "Commands.c" } } static void flag_unflag_command_real_undo_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { FlagUnflagCommand * self; #line 2495 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand); #line 2495 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (GEE_IS_COLLECTION (sources)); #line 22267 "Commands.c" { GeeIterator* _source_it = NULL; GeeIterator* _tmp0_; #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable)); #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _source_it = _tmp0_; #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" while (TRUE) { #line 22277 "Commands.c" GeeIterator* _tmp1_; DataSource* source = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; DataSource* _tmp4_; gboolean _tmp5_; #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = _source_it; #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" if (!gee_iterator_next (_tmp1_)) { #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" break; #line 22290 "Commands.c" } #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = _source_it; #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" source = (DataSource*) _tmp3_; #line 2497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp4_ = source; #line 2497 "/home/jens/Source/shotwell/src/Commands.vala" _tmp5_ = self->priv->flag; #line 2497 "/home/jens/Source/shotwell/src/Commands.vala" flag_unflag_command_flag_unflag (self, _tmp4_, !_tmp5_); #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (source); #line 22306 "Commands.c" } #line 2496 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (_source_it); #line 22310 "Commands.c" } } static void flag_unflag_command_flag_unflag (FlagUnflagCommand* self, DataSource* source, gboolean flag) { Flaggable* flaggable = NULL; Flaggable* _tmp0_; Flaggable* _tmp1_; #line 2500 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_FLAG_UNFLAG_COMMAND (self)); #line 2500 "/home/jens/Source/shotwell/src/Commands.vala" g_return_if_fail (IS_DATA_SOURCE (source)); #line 2501 "/home/jens/Source/shotwell/src/Commands.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_FLAGGABLE) ? ((Flaggable*) source) : NULL); #line 2501 "/home/jens/Source/shotwell/src/Commands.vala" flaggable = _tmp0_; #line 2502 "/home/jens/Source/shotwell/src/Commands.vala" _tmp1_ = flaggable; #line 2502 "/home/jens/Source/shotwell/src/Commands.vala" if (_tmp1_ != NULL) { #line 2503 "/home/jens/Source/shotwell/src/Commands.vala" if (flag) { #line 22337 "Commands.c" Flaggable* _tmp2_; #line 2504 "/home/jens/Source/shotwell/src/Commands.vala" _tmp2_ = flaggable; #line 2504 "/home/jens/Source/shotwell/src/Commands.vala" flaggable_mark_flagged (_tmp2_); #line 22343 "Commands.c" } else { Flaggable* _tmp3_; #line 2506 "/home/jens/Source/shotwell/src/Commands.vala" _tmp3_ = flaggable; #line 2506 "/home/jens/Source/shotwell/src/Commands.vala" flaggable_mark_unflagged (_tmp3_); #line 22350 "Commands.c" } } #line 2500 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (flaggable); #line 22355 "Commands.c" } static void flag_unflag_command_class_init (FlagUnflagCommandClass * klass) { #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" flag_unflag_command_parent_class = g_type_class_peek_parent (klass); #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" g_type_class_add_private (klass, sizeof (FlagUnflagCommandPrivate)); #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->execute_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) flag_unflag_command_real_execute_on_all; #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = (void (*) (MultipleDataSourceAtOnceCommand *, GeeCollection*)) flag_unflag_command_real_undo_on_all; #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (klass)->finalize = flag_unflag_command_finalize; #line 22372 "Commands.c" } static void flag_unflag_command_instance_init (FlagUnflagCommand * self) { #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" self->priv = FLAG_UNFLAG_COMMAND_GET_PRIVATE (self); #line 2459 "/home/jens/Source/shotwell/src/Commands.vala" self->priv->progress_dialog = NULL; #line 22383 "Commands.c" } static void flag_unflag_command_finalize (GObject * obj) { FlagUnflagCommand * self; #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand); #line 2459 "/home/jens/Source/shotwell/src/Commands.vala" _g_object_unref0 (self->priv->progress_dialog); #line 2451 "/home/jens/Source/shotwell/src/Commands.vala" G_OBJECT_CLASS (flag_unflag_command_parent_class)->finalize (obj); #line 22397 "Commands.c" } GType flag_unflag_command_get_type (void) { static volatile gsize flag_unflag_command_type_id__volatile = 0; if (g_once_init_enter (&flag_unflag_command_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (FlagUnflagCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flag_unflag_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlagUnflagCommand), 0, (GInstanceInitFunc) flag_unflag_command_instance_init, NULL }; GType flag_unflag_command_type_id; flag_unflag_command_type_id = g_type_register_static (TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, "FlagUnflagCommand", &g_define_type_info, 0); g_once_init_leave (&flag_unflag_command_type_id__volatile, flag_unflag_command_type_id); } return flag_unflag_command_type_id__volatile; }